数字当てゲームを実装するための純粋なJavaScript

数字当てゲームを実装するための純粋なJavaScript

100 以内の自然数をランダムに選択し、プレイヤーに 10 ラウンド以内にその数を推測させる数字推測ゲームを開発します。各ラウンドの終了後、プレイヤーは答えが正しかったかどうか、また間違っていた場合には数字が低すぎたか高すぎたかを知らされる必要があります。そして、前のラウンドでプレイヤーが推測した数字が表示されます。プレイヤーが正しく推測するか、チャンスがなくなると、ゲームは終了します。ゲーム終了後、プレイヤーは再度開始することを選択できます。

考え:

1. 100以内の自然数をランダムに生成する

2. プレーヤーの現在のラウンド番号を記録します。 1から始める

3. プレイヤーに数字を推測する方法を提供する

4. 結果が送信されたら、まずそれを記録して、ユーザーが以前の推測を確認できるようにします。

5. 次に、彼が正しいかどうかを確認します

6. 正しい場合:

1. お祝いメッセージを表示する

2. プレイヤーが推測できないようにする

3. 継続プレイヤーがゲームを再開するためのスペースを表示する

7. 何か問題が起きた場合

1. プレイヤーに間違っていると伝える

2. 語順 彼らは別の推測を入力する

3. 端数プラス1

8. エラーが発生し、プレイヤーにターンが残っていない場合

1. ゲームが終了したことをプレイヤーに伝える

2. プレイヤーが推測できないようにする

3. ディスプレイスペースにより、プレイヤーはゲームを再開できる

9. ゲームが再起動したら、ゲームロジックとUIが完全に再充電されていることを確認し、手順1に戻ります。

HTMLコード:

<!DOCTYPE html>
<html lang="ja">
  <ヘッド>
    <メタ文字セット="UTF-8" />
    <meta http-equiv="X-UA-compatible" content="IE=edge" />
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0" />
    <title>数字当てゲーム</title>
    <script type="text/javascript" src="./JS/数字当てゲーム.js" async></script>
/*実際の状況に応じて変更してください*/
  </head>
  <本文>
    <p class="推測"></p>
    <p class="lastResult"></p>
    <p class="lowOrHi"></p>
    <label for="guessField">数字を推測してください:</label>
    <input type="text" id="推測フィールド" class="推測フィールド" />
    <input type="submit" value="OK" class="guessSubmit" />
  </本文>
</html>

jsコード:

randomNumber = Math.floor(Math.random() * 100) + 1 とします。
const 推測 = document.querySelector(".推測");
定数 lastResult = document.querySelector(".lastResult");
定数lowOrHi = document.querySelector(".lowOrHi");
const guessSubmit = document.querySelector(".guessSubmit");
const guessField = document.querySelector(".guessField");
guessCount = 1 とします。
resetButton を実行します。
/* ゲームロジック */
関数 checkGuess() {
  /* ユーザー入力を取得し、数値に変換します*/
  userGuess = Number(guessField.value); とします。
  推測回数が1の場合
    guesses.textContent = "最後の推測:";
  }
  guesses.textContent += userGuess + " ";
 
  if (userGuess === randomNumber) {
    lastResult.textContent = "おめでとうございます!正解です";
    lastResult.style.backgroundColor = "緑";
    lowOrHi.textContent = "";
    ゲームオーバーを設定します。
  } そうでない場合 (推測数 === 10) {
    lastResult.textContent = "!!! ゲームオーバー!!!";
    ゲームオーバーを設定します。
  } それ以外 {
    lastResult.textContent = "あなたの推測は間違っています";
    lastResult.style.backgroundColor = "赤";
    if (userGuess < ランダムナンバー) {
      lowOrHi.textContent = "あなたの推測は低すぎます";
    } それ以外 {
      lowOrHi.textContent = "高すぎると推測しました";
    }
  }
  推測カウント++;
  guessField.value = "";
  guessField.focus();
}
/* ゲームを終了する */
関数setGameOver() {
  guessField.disabled = true;
  guessSubmit.disabled = true;
  リセットボタン = document.createElement("ボタン");
  resetButton.textContent = "新しいゲームを開始";
  document.body.appendChild(リセットボタン);
  resetButton.addEventListener("click", resetGame);
}
/* 初期化 */
関数resetGame() {
  推測数 = 1;
  const resetParas = document.querySelectorAll(".resultParas p");
  (i = 0 とします; i < resetParas.length; i++) {
    resetParas[i].textContent = " ";
  }
 
  リセットボタンの親ノードを削除します。
  guessField.disabled = false;
  guessSubmit.disabled = false;
  guessField.value = "";
  guessField.focus();
  lastResult.style.backgroundColor = "白";
  ランダム数値 = Math.floor(Math.random() * 100) + 1;
}
guessSubmit.addEventListener("click", checkGuess);

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • JavaScript ベースの推測ゲームのコード例
  • JS 数字推測ゲームの例の説明
  • 数字推測ゲームを実装するJavaScript
  • JSはウェブベースの推測ゲームを実装します
  • 数字当てゲームを実現するための jsp+servlet
  • JSP は億万長者推測ゲームを実装します
  • AngularJS で実装された乱数生成と数値のサイズ推測の例
  • AngularJSは数値の大きさを推測する機能を実装します
  • js は数字推測ゲームを実装します
  • js 数字推測ゲームの簡単な実装コード

<<:  win10にmysql 8.0.18-winx64をインストールする詳細な手順

>>:  Dockerコンテナでyumを呼び出すときのエラーの解決方法

推薦する

ローカル画像サーバーのNginx構成の実装

目次1. Nginx の紹介2. 画像サーバーの構築1. Nginx の紹介Nginx はリバース ...

MySQL がテーブルを読み取れないエラー (MySQL 1018 エラー) の解決方法

1. エラーの再現MySQL データベースにはアクセスできますが、データベース テーブルを読み取るこ...

Docker-compose を使用して ELK クラスターを構築する方法

すべてのオーケストレーション ファイルと構成ファイルは、私の Github からアクセスできます。構...

Centos システムの指定された場所に Nginx をインストールする方法

Centos システムの指定された場所に Nginx をインストールするにはどうすればいいですか?は...

MySQL ビッグデータ クエリ最適化エクスペリエンスの共有 (推奨)

本格的な MySQL 最適化! MySQL のデータ量が少ない場合は最適化は不要です。データ量が多い...

MySQLクエリステートメント内のユーザー変数のコード分析

前回の記事では、MySQL 最適化の概要 - クエリの合計数を紹介しました。この記事では、クエリ ス...

Linux コマンドにおける Ctrl+z、Ctrl+c、Ctrl+d の違いと使い方

Linux で Ctrl+c、Ctrl+d、Ctrl+z はどういう意味ですか? Ctrl+c と ...

WeChatアプレットでvantフレームワークを使用するための具体的な手順

目次1. アプレットのプロジェクト ディレクトリを開き、ファイルの場所を開きます。 2. プロジェク...

XHTMLコードの一般的なアプリケーション問題をまとめる

時間が経つにつれて、多くの人が XHTML の使い方を知らないことに気づきました。普通の初心者だけで...

フォームデータを取得するための Node.js メソッドの 3 つの例

序文Nodejs はサーバーサイド言語です。開発中、登録やログインなどでは、判断のためにフォームを通...

レスポンシブ原則のソースコード分析のVue解釈

目次初期化初期化状態()初期化プロパティ()初期化データ()観察する()オブザーバーリアクティブを定...

Linux で crontab を使用してスケジュールされたタスクを追加する方法

序文Linux システムはシステム サービス crond によって制御されます。 Linux システ...

MySQL で指定エンコーディングを実装する際の落とし穴について

前面に書かれた環境: MySQL 5.7+、MySQL データベースの文字エンコードは utf8、テ...

Vueフィルターの使い方

目次概要フィルターの定義フィルターの使用カスタムグローバルフィルターローカルフィルター予防例1(ロー...

Typescriptを使用してWeChatミニプログラムを開発するための詳細な手順

Typescript の利点については詳しく説明する必要はありません。ご興味があれば、(https:...