数字当てゲームを実装するための純粋な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を呼び出すときのエラーの解決方法

推薦する

Dockerコンテナの状態変換の実装

Dockerコンテナの状態遷移図2度目の実戦 [root@localhost ~]# docker ...

MySQL 8.0.3 RCがリリースされようとしています。変更点を見てみましょう。

MySQL 8.0.3がリリースされます。新機能を見てみましょうMySQL 8.0.3 は RC ...

MySQL の基本クイックスタート知識のまとめ (マインドマップ付き)

目次序文1. データベースの基礎知識1. データベースとは何ですか? 2. データベースの分類3. ...

node.js でマルチコア CPU を最大限に活用する方法

目次概要node.js でマルチコア CPU を最大限に活用する方法Node で子プロセスを作成する...

Linux システムでのルート ディレクトリ拡張の概要

1. Linuxディスクの状態を確認する df -lh lsblkコマンドは、使用可能なすべてのブロ...

HTML コード作成ガイド

共通コンベンションタグ自己終了タグ。閉じる必要はありません (例: img input br hr ...

ページにスクロールバーが表示されたときに、スクロールバーがページ幅に影響しないようにする方法

本体の幅をウィンドウの幅に設定します(次のスクリプトで制御されます) $("body&qu...

一般的な XHTML タグの使用方法の紹介

XHTML には多くのタグがありますが、頻繁に使用されるのはごくわずかであり、習得する必要があるのは...

MySQL の高度な機能 - データ テーブル パーティショニングの概念とメカニズムの詳細な説明

目次パーティション分割メカニズムSELECTクエリINSERT操作DELETE操作更新操作パーティシ...

CSS3+HTML5+JSでブロックの縮小・拡大アニメーション効果を実現

最近、あるプロジェクトに取り組んでいたとき、自分のプロジェクトでは CSS3 のアニメーション技術を...

グリッド共通レイアウトの実装

両側に隙間なし、各列間に隙間あり 幅: 100%; 表示: グリッド; グリッドテンプレート列: r...

Linux システムでキャッシュをクリアする方法の概要

1) キャッシュメカニズムの紹介Linux システムでは、ファイルシステムのパフォーマンスを向上させ...

vue.js でよく使われる v 命令の解析

目次Vue でのモデルバインド表示の if の v-text の説明v-html: v-オンv-if...

JavaScript が重複したネットワークリクエストを防ぐ方法の例

序文開発中は、インターフェース要求の繰り返しによってさまざまな問題が発生することがよくあります。ネッ...

CSS を解析して画像のテーマカラー機能を抽出する (ヒント)

背景すべては、WeChat 技術グループのクラスメートが「写真の主な色を取得する方法はあるか」と尋ね...