【JavaScript】数字当てゲームにクリア演出とゲームオーバーを追加!初心者でもコピペで遊べる改良版

こんにちは!Web整備士です。

今回は、前回作った「数字当てゲーム」をさらにゲームらしく改良しました。

追加したのは、残り回数・クリア画面・ゲームオーバー画面・クラッカー風の演出です。

記事の途中で、実際にゲームも遊べるようにしています。

目次

今回作ったゲーム

今回作ったのは、1〜10の数字を当てるゲームです。

  • 5回以内に正解を当てる
  • 間違えると残り回数が減る
  • 正解するとクリア画面になる
  • 5回失敗するとゲームオーバーになる
  • クリアするとクラッカー風の演出が出る

画像①:メニュー画面をここに入れる

代替テキスト:数字当てゲームのメニュー画面

前回までの3ファイル方式との違い

最初の記事では、index.htmlstyle.cssscript.js の3つのファイルに分けて作りました。

今回は、記事の中で遊べるようにしたり、読者がコピペしやすいようにしたりするため、HTML・CSS・JavaScriptをすべて index.html の中にまとめています。

CSSは <style> の中に入れています。

JavaScriptは <script> の中に入れています。

つまり

CSSとJavaScriptを使っていないわけではありません。

今回は、CSSもJavaScriptも index.htmlの中に入れている だけです。

前回までのファイルを上書きしたくない人は、新しく別の index.html を作って試すのがおすすめです。

実際に遊べるゲーム

下のゲームで、実際に遊べます。

1〜10の数字を入力して、5回以内に当ててみてください。

数字当てゲーム

1から10までの数字を当てよう!

今回は5回以内に当てるルールです。

数字を当ててね

挑戦できる回数:5

残り回数:5

1〜10の数字を入力してください。

スコア確認

遊んだ回数:0

クリア回数:0

ゲームオーバー回数:0

ゲーム画面の流れ

「最初から」を押すと、数字を入力する画面に進みます。

画像②:ゲーム開始画面をここに入れる

代替テキスト:数字当てゲームの入力画面

間違えると、ヒントと残り回数が表示されます。

画像③:ヒント表示画面をここに入れる

代替テキスト:数字当てゲームでヒントが表示されている画面

残り回数が少なくなると、少しドキドキ感が出ます。

画像④:残り1回の画面をここに入れる

代替テキスト:数字当てゲームで残り回数が1回になった画面

5回以内に当てられなかった場合は、ゲームオーバーになります。

画像⑤:ゲームオーバー画面をここに入れる

代替テキスト:数字当てゲームのゲームオーバー画面

正解すると、クリア画面が表示されます。

画像⑥:クリア画面をここに入れる

代替テキスト:数字当てゲームのクリア画面

追加した機能

  • 挑戦できる回数を5回にする
  • 残り回数を表示する
  • 間違えるたびに残り回数を減らす
  • 正解したらクリア画面を出す
  • 失敗したらゲームオーバー画面を出す
  • クリアしたらクラッカー風の演出を出す

ポイント

回数制限を入れるだけで、ゲームはかなりゲームらしくなります。

コードの見方

完成コードは少し長いですが、全部を一気に理解しなくて大丈夫です。

  • HTML:画面に出す文字・ボタン・入力欄
  • CSS:色・余白・見た目
  • JavaScript:数字の判定・画面切り替え・クラッカー演出

まずは、index.htmlに貼って動かすことを優先してください。

今回つまずいたところ

今回は、クリアしたときにクラッカー風の演出を出すだけの予定でした。

しかし、思ったより苦戦しました。

原因は、直していたファイルと、実際に動いていたコードの場所が違っていたことです。

最初は script.js を直していましたが、実際に動いていたJavaScriptは index.html の中に直接書かれていました。

今回の学び

プログラミングでは、「そのコードが本当に読み込まれているか」も大事です。

HTML・CSS・JavaScriptの役割

小学生向けに言うと、HTMLは部品、CSSは見た目、JavaScriptは動きです。

完成コードを貼る場所

今回は、HTML・CSS・JavaScriptをすべて index.html にまとめたコードを使います。

VSCodeなどで index.html というファイルを作り、そこに完成コードを貼って保存します。

保存したあと、index.htmlをブラウザで開けばゲームを遊べます。

前回までの続きで作っている人へ

前回までの style.cssscript.js を消す必要はありません。

今回は、新しく index.htmlだけの完成版 として試すのがおすすめです。

Blogger用に一部コードを変えたところ

今回の記事では、普通のHTMLファイルで動かすコードと、Blogger記事内で動かすコードで少し書き方を変えています。

理由は、Bloggerでは一部の記号や絵文字が自動で変換されることがあるからです。

たとえば、普通に をJavaScriptの中に書くと、Blogger上で &#65281;&#12290; のように表示されることがありました。

さらに、クラッカー演出に使う絵文字も、Blogger上で &#10024; のように表示されることがありました。

そこで、記事内で実際に遊べるゲーム部分では、日本語記号や絵文字をUnicode表記にしています。

\uFF01 → !
\u3002 → 。
\u300C → 「
\u300D → 」
\uD83C\uDF89 → 🎉
\uD83C\uDF8A → 🎊
\u2728 → ✨
\u2B50 → ⭐

ポイント

完成コードをindex.htmlで動かす場合は、普通の日本語記号や絵文字でも大丈夫です。

ただし、Blogger記事内でゲームを直接動かす場合は、Unicode表記で書いたほうが安全です。

完成コード

こちらが完成コードです。

下のコードをコピーして、index.html に貼れば使えます。

【広告/PR】

HTML・CSS・JavaScriptを基礎から学びたい人向け

初心者でも学びやすいプログラミング講座を紹介しています。

まとめ

今回は、数字当てゲームにクリア演出とゲームオーバー画面を追加しました。

回数制限を入れることで、前よりもゲームらしくなりました。

さらに、クリア時にクラッカー風の演出を入れたことで、成功した感じも出せました。

今回は、前回までの3ファイル方式との違いも説明しました。

CSSとJavaScriptを使っていないわけではなく、今回はindex.htmlの中にまとめています。

まずは動かす。次に直す。そして少しずつゲームらしくする。

この流れで進めれば、初心者でも少しずつゲーム作りに慣れていけます。

コメント

このブログの人気の投稿

1つの商品を紹介する記事の形を作りやすくする無料テンプレ

比較記事テンプレ 見た目編|目的に合わせて見やすく整える考え方

サイトやブログのホーム画面の見せ方テンプレ【無料HTML】