js實現打地鼠小遊戲,js打地鼠小遊戲

來源:互聯網
上載者:User

js實現打地鼠小遊戲,js打地鼠小遊戲

話不多說,請看代碼:

<!doctype html><html><head><meta charset="utf-8"><title>打地鼠</title> <style type="text/css">  #content { width:960px; margin:0 auto; text-align:center; margin-top:40px; } #form1 { margin:20px 0; } table { margin:0 auto; cursor:url(http://cdn.attach.qdfuns.com/notes/pics/201702/12/115915n79d7hvffengpdxe.png),auto; } td { width:95px; height:95px; background:#00ff33; } </style> <script type="text/javascript"> var td = new Array(),   //儲存每個格子的地鼠 playing = false,   //遊戲是否開始 score = 0,  //分數 beat = 0,  //滑鼠點擊次數 success = 0,  //命中率 knock = 0,  //滑鼠點中老鼠圖片的次數 countDown = 30,  //倒計時 interId = null,  //指定 setInterval()的變數 timeId = null;  //指定 setTimeout()的變數 //遊戲結束 function GameOver(){  timeStop();  playing = false;   clearMouse();  alert("遊戲結束!\n 你獲得的分數為:"+score+"\n 命中率為:"+success);  success = 0;  score = 0;  knock = 0;  beat = 0;  countDown = 30; } //顯示當前倒計時所剩時間 function timeShow(){ document.form1.remtime.value = countDown; if(countDown == 0){ GameOver(); return; }else{ countDown = countDown-1; timeId = setTimeout("timeShow()",1000); } } //主動停止所有計時 function timeStop() { clearInterval(interId); clearTimeout(timeId);  } //隨機迴圈顯示老鼠圖片 function show(){ if(playing){ var current = Math.floor(Math.random()*25); document.getElementById("td["+current+"]").innerHTML = '<img src="http://cdn.attach.qdfuns.com/notes/pics/201702/12/115915w6tluu1gq8l1b54h.png">'; setTimeout("document.getElementById('td["+current+"]').innerHtml=''",3000); //使用 setTimeout()實現3秒後隱藏老鼠圖片 } } //清除所有老鼠圖片 function clearMouse(){ for(var i=0;i<25;i++){ document.getElementById("td["+i+"]").innerHTML=""; } } //點擊事件函數,判斷是否點中老鼠 function hit(id){ if(playing == false){ alert("請點擊開始遊戲!"); return; }else{ beat += 1; if(document.getElementById("td["+id+"]").innerHTML != ""){  score += 1;  knock += 1;  success = knock/beat;  document.form1.success.value = success;  document.form1.score.value = score;  document.getElementById("td["+id+"]").innerHTML = ""; }else{  score += -1;  success = knock/beat;  document.form1.success.value = success;    document.form1.score.value = score; } } } //遊戲開始 function GameStart(){ playing = true; interId = setInterval("show()",1000);  document.form1.score.value = score; document.form1.success.value = success; timeShow(); }  </script></head><body> <div id="content">  <input type="button" value="開始遊戲" onclick="GameStart()" />  <input type="button" value="結束遊戲" onclick="GameOver()" />  <form name="form1" id="form1">   <label>分數:</label>   <input type="text" name="score" size="5">   <label>命中率:</label>   <input type="text" name="success" size="10">   <label>倒計時:</label>   <input type="text" name="remtime" size="5">  </form>   <table>   <tr>    <td id="td[0]" onclick="hit(0)"></td>       <td id="td[1]" onclick="hit(1)"></td>    <td id="td[2]" onclick="hit(2)"></td>    <td id="td[3]" onclick="hit(3)"></td>    <td id="td[4]" onclick="hit(4)"></td>   </tr>   <tr>    <td id="td[5]" onclick="hit(5)"></td>    <td id="td[6]" onclick="hit(6)"></td>    <td id="td[7]" onclick="hit(7)"></td>    <td id="td[8]" onclick="hit(8)"></td>    <td id="td[9]" onclick="hit(9)"></td>   </tr>   <tr>    <td id="td[10]" onclick="hit(10)"></td>    <td id="td[11]" onclick="hit(11)"></td>    <td id="td[12]" onclick="hit(12)"></td>    <td id="td[13]" onclick="hit(13)"></td>    <td id="td[14]" onclick="hit(14)"></td>    </tr>    <tr>    <td id="td[15]" onclick="hit(15)"></td>    <td id="td[16]" onclick="hit(16)"></td>    <td id="td[17]" onclick="hit(17)"></td>    <td id="td[18]" onclick="hit(18)"></td>    <td id="td[19]" onclick="hit(19)"></td>    </tr>    <tr>    <td id="td[20]" onclick="hit(20)"></td>    <td id="td[21]" onclick="hit(21)"></td>    <td id="td[22]" onclick="hit(22)"></td>    <td id="td[23]" onclick="hit(23)"></td>    <td id="td[24]" onclick="hit(24)"></td>    </tr>  </table> </div></body></html>

流程設計:

  • 點擊“開始遊戲”按鈕遊戲開始,否則將提示“請點擊開始遊戲”字樣
  • 分數、命中率顯示重設為“0”,倒計時開始(預設為30秒)
  • 老鼠圖片不斷顯示、隱藏,玩家可點擊滑鼠左鍵進行遊戲
  • 當30秒倒計時結束或者玩家主動點擊“結束按鈕”時,遊戲結束並顯示遊戲結果

執行個體中用到的圖片附件下載

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的協助,同時也希望多多支援幫客之家!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.