JavaScript でのモグラ叩きゲームの実装

JavaScript でのモグラ叩きゲームの実装

この記事では、モグラ叩きゲームを実装するためのJavaScriptの具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。

ゲームの説明:

「ゲーム開始」ボタンをクリックすると、画像内にマウスがランダムに生成されます。マウスをクリックして、消える前にヒットします。1 回ヒットすると 100 ポイントを獲得できます。マウスをヒットしないと、100 ポイントが減点されます。

CSS モジュール

<スタイル>
    #div0{
     テキスト配置: 中央;
     幅: 1360ピクセル;
     高さ: 600px;
     マージン: 60px 自動;
     背景画像: url("images/bg.jpg");
     位置: 相対的;
    }
    #div_top{
     テキスト配置: 左;
     色:ブラウン;
     幅: 360ピクセル;
     高さ: 100px;
     位置: 絶対;
     左: 500ピクセル;
    }
    #div_left{
     幅: 350ピクセル;
     高さ: 320px;
     位置: 絶対;
     左: 300ピクセル;
     上: 150px;
    }
    #タブデータ{
     幅:350ピクセル;
     高さ:320px;
    }
    #div_right{
     幅: 350ピクセル;
     高さ: 320px;
     位置: 絶対;
     右: 380px;
     上: 150px;
    }
    #タブ{
     幅:320ピクセル;
     高さ:320px;
    }
    #タブtd{
     背景画像:url("images/00.jpg");
     背景繰り返し:繰り返しなし;
     背景の位置:中央;
    }
</スタイル>

htmlモジュール

<div id="div0">
   <div id="div_top">
     ゲームの説明:<br/>
    「ゲームを開始」ボタンをクリックすると、下の画像のようにマウスがランダムに生成されます。マウスが消える前にクリックして攻撃してください。<br/>
    マウスを1回ヒットすると100ポイント獲得でき、ミスすると100ポイント減点されます。素早く行動して、あなたの反応と視力をテストしましょう! <br/>
   </div>
   <div id="div_left">
    <テーブルid="tab_data">
     <tr>
      <th>試合時間:</th>
      <td><input type="text" name="text_time" value="1" />分</td>
     </tr>
     <tr>
      <th>カウントダウン:</th>
      <td><input type="text" name="text_CD" value="60" disabled="disabled"/>秒</td>
     </tr>
     <tr>
      <th>発生間隔:</th>
      <td><input type="text" name="text_hide" value="1" />秒</td>
     </tr>
     <tr>
      <th>滞在時間:</th>
      <td><input type="text" name="text_show" value="1" />秒</td>
     </tr>
     <tr>
      <th>スコア:</th>
      <td><span id="span_score"></span></td>
     </tr>
     <tr>
      <番目 colspan="2">
       <input type="button" value="ゲームを開始" id="but_start"/>
       &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
       <input type="button" value="ゲーム終了" id="but_end"/>
      </th>
     </tr>
    </テーブル>
   </div>
   <div id="div_right">
    
   </div>
</div>

js モジュール

<スクリプト>
   var collTd=[];//すべてのtdを記録
   var oTdMouse; //選択したtdを記録する
   // 変数レコード ページのラベル要素を定義します var oButStart, oButEnd;
   var oTextTime、oTextHide、oTimeShow、oTimeCD;
   var oSpanScore;
   //時間パラメータを記録するための変数を定義します:
   var iAll、iCD、iShow、iHide、iCount、iGet;
   var iCDId、iRandomId、iShow、iChangeId;
   window.onload = 関数(){
    //テーブルを作成する createTable();
    //タグ要素変数に値を割り当てる init();
    //ボタンのイベントを登録します oButStart.onclick=startGame;
    oButEnd.onclick=ゲーム終了;
   }
   //ゲームを開始する function startGame(){
    iAll = parseInt(oTextTime.value)*60;
    iCD=iAll;
    // 1秒ごとにカウントダウンを実行します iCDId=window.setInterval(setCD,1000);
    iShow = parseInt (oTextShow.value);
    iHide=parseInt(oTextHide.value);
    カウント=0;
    0 を取得します。
    //iShow+HideごとにランダムにTDを表示する
    ランダムID();
    iRandomId=window.setInterval(randomId,(iShow+iHide)*1000);
    oButStart.disabled="無効";
    oButEnd.disabled="";
   }
   //ランダムtd
   関数 randomId(){
    iCount++;
    var インデックス = parseInt (Math.random() * collTd.length);
    oTdMouse=collTd[インデックス];
    //背景画像を変更します oTdMouse.style.backgroundImage="url('images/01.jpg')";
    // 表示時間が終了するまで待機し、背景画像を元に戻します iShowId=window.setTimeout("oTdMouse.style.backgroundImage='url(images/00.jpg)';",iShow*1000);
   }
   //カウントダウン関数を設定する setCD(){
    iCD--;
    oTextCD.value=iCD;
    // 1 秒ごとにスコアを記録します var message="合計 "+iCount+" 個、ヒット "+iGet+" 個!";
    oSpanScore.innerHTML=message.fontcolor("blue").bold();
    iCD<=0の場合{
     ゲームの終了();
    }
   }
   //ゲームを終了する function endGame(){
    oButEnd.disabled="無効";
    oButStart.disabled="";
    ウィンドウのクリア間隔(iCDId);
    ウィンドウのクリア間隔(iRandomId);
   }
   //ラベル要素変数に値を割り当てる function init(){
    oButStart=document.getElementById("but_start");
    oButEnd=document.getElementById("but_end");
    
    oTextTime=document.getElementsByName("text_time")[0];
    oTextCD=document.getElementsByName("text_CD")[0];
    oTextHide=document.getElementsByName("text_hide")[0];
    oTextShow = document.getElementsByName("text_show")[0];
    
    oSpanScore = document.getElementById("span_score");
    oTextCD.値=60;
    oButEnd.disabled="無効";
   }
   //テーブルを動的に生成する関数createTable(){
    var oDivRight = document.getElementById("div_right");
    var oTab=document.createElement("テーブル");
    oTab.id="タブ";
    (var i=0;i<6;i++){
     var oTr=document.createElement("tr");
     (var j=0;j<5;j++){
      var oTd = document.createElement("td");
      oTr.appendChild(oTd);
      collTd.push(oTd);
      //すべてのtdにクリックイベントを追加 oTd.onclick=function(){
       if(this==oTdMouse){
        //現在のセルの背景画像が 01.jpg かどうかを判断します
        if(this.style.backgroundImage.indexOf("01.jpg")!=-1){
         // 1 ポイントを取得します iGet++;
         //背景画像を02.jpgに変更します
         oTdMouse.style.backgroundImage="url('images/02.jpg')";
         //00.jpg に変更するには 0.2 秒待ちます
         iChangeId=window.setTimeout("oTdMouse.style.backgroundImage='url(images/00.jpg)';",200);
         var message="合計 "+iCount+" 個、"+iGet+" 個を獲得しました!";
         oSpanScore.innerHTML=message.fontcolor("blue").bold();
        }
        
       }
      }
     }
     oTab.appendChild(oTr);
    }
    oDivRight.appendChild(oTab);
   }
</スクリプト>

皆さんと共有したい、より興味深いクラシック ミニ ゲームの実装トピック:

C++ クラシック ミニ ゲーム コレクション

Python クラシックゲームの概要

Python テトリス ゲーム コレクション

クラシックなJavaScriptゲームをプレイする

Java クラシック ゲーム コレクション

JavaScript クラシックゲームの概要

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

以下もご興味があるかもしれません:
  • JavaScript+HTML5 ベースのモグラ叩きゲームのロジックフローの詳細な説明 (完全なコード付き)
  • JavaScript でモグラ叩きゲームを実装
  • モグラ叩きゲームを実現する js
  • JavaScript モグラ叩きゲーム コードの説明
  • JavaScript で簡単なモグラ叩きゲームを実装する

<<:  iframe が HTML 内のページにジャンプするのを防ぎ、iframe を使用して WeChat Web バージョンをページに埋め込む方法

>>:  Dockerはnginxをデプロイし、フォルダとファイル操作をマウントします

推薦する

WeChatミニプログラムビデオ集中砲火位置ランダム

この記事では、WeChatミニプログラムのビデオ弾幕の位置をランダム化するための具体的なコードを紹介...

CentOS 7 で grub パスワードと単一ユーザー ログインを設定するサンプル コード

Centos7 と Centos6 では、GRUB パスワードの設定手順に大きな違いがあります。これ...

Vue3 はメッセージコンポーネントの例を実装します

目次コンポーネント設計最終的なコンポーネントAPIの定義コンポーネント構造の定義テンプレートとスタイ...

JavaScript 関数型プログラミングの基礎

目次1. はじめに2. 関数型プログラミングとは何ですか? 3. 純粋関数(関数型プログラミングの基...

CentOS SVN サーバーで複数のプロジェクトを管理する方法

一つの要求一般的に、企業には複数のプロジェクトがあります。SVN サーバーを設定した後は、プロジェク...

CSS でマウスの位置をマッピングし、マウスを動かしてページ要素を制御する (サンプル コード)

マウスの位置をマッピングしたり、ドラッグ効果を実装したりすることは、 JavaScriptで行うこと...

CSS で美しい時計アニメーション効果を実装するためのサンプルコード

仕事を探しています!!!事前準備:まず、このアニメーションは、以前のローディングアニメーションとクー...

vue3を使用して人間と猫のコミュニケーションアプレットを実装する

目次序文プロジェクトを初期化するデザインコードの実装オンデマンドロードオーディオを再生録音長押しイベ...

Vue3 Vue イベント処理ガイド

目次1. 基本的なイベント処理2. 親コンポーネントにカスタムイベントを送信するマウス修飾子4. キ...

MySQL 5.7.19 Winx64 ZIP アーカイブのインストールと使用に関する問題の概要

今日はMySQLのインストール方法を学びましたが、その過程でいくつか問題が発生しました。関連記事をい...

MySQL データベース内の同じテーブルを同時にクエリして更新する方法

通常のプロジェクトでは、1 回の入札で同時にデータを更新および照会する必要があるという問題によく遭遇...

JavaScriptオブジェクトをマージするさまざまな方法の詳細な説明

目次オブジェクトをマージするさまざまな方法(インターフェースを通じてデータを取得し、それをローカル ...

MySQLデータベースの管理者パスワードを忘れた場合の解決策

1. コマンド mysqld --skip-grant-tables を入力します (前提条件: m...

CSS3は、大きな円のドット分布と回転効果を実現するためにtransform-originを使用します。

まず、transform-origin 属性を使用する必要があります。transform 属性は必ず...

CSS3のvar()を使用して実行時にscss変数の値を変更する詳細な説明

var() の紹介と使用法詳細 (MDN) IEは無効ですが、他の主流のブラウザは有効ですvar()...