この記事では、モグラ叩きゲームを実装するための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をデプロイし、フォルダとファイル操作をマウントします
目次1. ダウンロード2. インストール3. my.ini ファイルを設定する(デフォルトのエンコー...
1. コマンドの紹介contab (cron テーブル) コマンドは、Windows のスケジュール...
まず Linux に ssh をインストールします。例として Centos を使用します。ポータル:...
Nginx におけるいわゆる接続制限は、実際には TCP 接続、つまり 3 ウェイ ハンドシェイク後...
今日はvueとmomentで作ったカウントダウンを紹介したいと思います。具体的な内容は以下のとおりで...
CSS によりプロセスナビゲーション効果を実現します。具体的な内容は以下のとおりです。 ::tip...
docker-compose.yml に extra_hosts キーワードを追加すると、コンテナの...
この記事では、カレンダー効果を実現するためのjQueryの具体的なコードを例として紹介します。具体的...
概要: MYSQLの問題解決記録:どのようなインストール方法 (rpm、gz、gz.xz) を使用す...
質問は https://www.zhihu.com/question/440231149 から参照さ...
Ubuntu はソースが中国からなのでダウンロード速度が比較的遅いです。CentOS と異なり、yu...
1. はじめに● ランダム書き込みではヘッドがトラックを頻繁に変更するため、効率が大幅に低下します。...
1. Baidu Eslint Ruleプラグインをインストールする npm i -D eslint...
1. PRIMARY KEY(主キーインデックス)を追加するmysql>ALTER TABLE...
CentOS 8にDockerをインストールする公式ドキュメント: https://docs.doc...