この記事では、モグラ叩きゲームを実装するための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 基本的な使い方2.1 方法2.2 計算プロパティ2.3 リスナーを見る3 3つの...
mysql ストアド プロシージャの概念:特定のタスク (クエリと更新) を実行できる、データベース...
目次序文XA プロトコルMySQL XA で分散トランザクションを実装する方法序文MySQL が単一...
MYSQL でよく使用されるクエリ コマンド: mysql> select version()...
1. 最初の方法は、ローカルのTomcatを起動してJSPを表示することです。 tomcatのweb...
この記事では、MySQL で複数のテーブルを使用して 1 対多のクエリを使用して最新のデータを取得す...
要素フォームとコード表示詳細はエレメントフォーム公式サイトをご覧ください構造と機能の分析紹介とソース...
序文私は以前から、SQL 文がどのように実行され、どのような順序で実行されるのかを知りたいと思ってい...
同僚から助けを求められました。バックエンド システムへのログインは成功したものの、システムには正常に...
1. はじめに今、ウォーターフォールフローについて書くことは、古い内容の焼き直しと見なされますか?気...
目次プロジェクト紹介:プロジェクトディレクトリ: TabBar 効果のプレビュー: TabBar 実...
序文ルーティングの管理は、ほとんどのシングルページ アプリケーションにとって不可欠な機能です。 Vu...
今日は、CSS を使用して左上の三角形を記述するいくつかの方法を紹介します。概略図(幅と高さを60p...
問題の原因: 最初は CentOS 8 のデフォルトの yum ソースを正常に使用できますが、次のコ...
目次1. 実行コンテキストとは何か2. 実行コンテキスト スタックとは何ですか? 3. 実行コンテキ...