この記事では、モグラ叩きゲームを実装するための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"/> <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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: iframe が HTML 内のページにジャンプするのを防ぎ、iframe を使用して WeChat Web バージョンをページに埋め込む方法
>>: Dockerはnginxをデプロイし、フォルダとファイル操作をマウントします
この記事では、WeChatミニプログラムのビデオ弾幕の位置をランダム化するための具体的なコードを紹介...
Centos7 と Centos6 では、GRUB パスワードの設定手順に大きな違いがあります。これ...
目次コンポーネント設計最終的なコンポーネントAPIの定義コンポーネント構造の定義テンプレートとスタイ...
目次1. はじめに2. 関数型プログラミングとは何ですか? 3. 純粋関数(関数型プログラミングの基...
一つの要求一般的に、企業には複数のプロジェクトがあります。SVN サーバーを設定した後は、プロジェク...
マウスの位置をマッピングしたり、ドラッグ効果を実装したりすることは、 JavaScriptで行うこと...
仕事を探しています!!!事前準備:まず、このアニメーションは、以前のローディングアニメーションとクー...
目次序文プロジェクトを初期化するデザインコードの実装オンデマンドロードオーディオを再生録音長押しイベ...
目次1. 基本的なイベント処理2. 親コンポーネントにカスタムイベントを送信するマウス修飾子4. キ...
今日はMySQLのインストール方法を学びましたが、その過程でいくつか問題が発生しました。関連記事をい...
通常のプロジェクトでは、1 回の入札で同時にデータを更新および照会する必要があるという問題によく遭遇...
目次オブジェクトをマージするさまざまな方法(インターフェースを通じてデータを取得し、それをローカル ...
1. コマンド mysqld --skip-grant-tables を入力します (前提条件: m...
まず、transform-origin 属性を使用する必要があります。transform 属性は必ず...
var() の紹介と使用法詳細 (MDN) IEは無効ですが、他の主流のブラウザは有効ですvar()...