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をデプロイし、フォルダとファイル操作をマウントします

推薦する

MySQL シリーズ 11 ログ

チュートリアルシリーズMySQL シリーズ: MySQL リレーショナル データベースの基本概念My...

HTML+CSS+JS でキャンバスがマウスの小さな円に追従する特殊効果のソースコードを実現

効果(ソースコードは最後にあります): 成し遂げる: 1. タグを定義します。 <h1>...

Vue Element フロントエンドアプリケーション開発のための従来の JS 処理機能

目次1. 従来のコレクションに対するフィルター、マップ、および削減処理方法2. 再帰処理3. for...

Node.js の非同期ジェネレータと非同期反復の詳細な説明

序文ジェネレーター関数は、async/await が導入される前から JavaScript に存在し...

Vueダイナミックフォームの詳細な応用

概要バックグラウンド管理システムには多くのフォーム要件があります。データをjson 形式で書き込み、...

docker リモート API のワンクリック TLS 暗号化の実装

目次1. Docker の 2375 ポートを別のポートに変更します。これは一時的な対策にすぎません...

あなたが知らない Linux KDE アプリケーション 11 選

翻訳Kool Desktop Environment の略称。 Linux、Unix、FreeBSD...

MySQLのexplain型の詳細な説明

導入:多くの場合、さまざまな選択ステートメントを使用して必要なデータを照会した後、多くの人は作業が正...

イメージの起動時にdocker runまたはdocker restartが自動的に終了する問題を解決します

コマンドを実行します: docker run --name centos8 -d centos /b...

丸い角や鋭い角の代わりに文字を使用することに関する研究経験の共有

1. フォントと文字表示の関係左側と右側の鋭角部分は Songti フォントで表示されます: &l...

HTML_PowerNode 入門 Java アカデミー

HTMLとは何ですか? HTML は Web ページを記述するために使用される言語です。 HTML ...

Linux で Scala 環境を構築し、簡単な Scala プログラムを書く

Linux に Scala 環境をインストールするのは非常に簡単です。Ubuntu 環境であれば、さ...

Docker で最初のアプリケーションをデプロイする方法

前回の記事では、Docker Desktop をインストールし、Kubernetes を有効にしまし...

JSはショッピングカート効果の単純な加算と減算を実装します

この記事の例では、ショッピングカートの簡単な追加と削除を実現するためのJSの具体的なコードを参考まで...

JavaScript ベースのパスワード ボックス検証情報の実装

この記事では、パスワードボックスの検証情報を実装するためのJavaScriptの具体的なコードを例と...