js實(shí)現(xiàn)踩五彩塊游戲
本文實(shí)例為大家分享了js實(shí)現(xiàn)踩五彩塊游戲的具體代碼,供大家參考,具體內(nèi)容如下
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <link rel="stylesheet" href="demo.css" > </head> <body> <div class="wrapper"> <div id = "go">Game Start</div> <!-- 運(yùn)動(dòng)的dom --> <div id="main"></div> </div> <script src = "demo.js"></script> </body> </html>
CSS:
*{ margin: 0; padding: 0; } .wrapper{ position: relative; width: 400px; height: 600px; border: 1px solid black; margin :160px auto; overflow: hidden; } #go{ position:absolute; left:0; top: 0; width: 100%; height: 100px; border-bottom: 1px solid #000; font-weight: bolder; font-size: 60px; line-height: 100px; text-align: center; cursor: pointer; z-index: 999; } #main{ position: relative; width:400px; height: 600px; /* border:1px solid red; */ } .row{ width: 400px; height: 150px; } .row div{ /* 塊級元素水平排列 */ float: left; width: 100px; height: 150px; border: 1px solid #000; /* 混雜模式盒模型 */ box-sizing: border-box; /* 最終顯示寬度為設(shè)定寬度 */ }
js:
// bindEvent顯示開始,清除 creatDiv增加一行 move運(yùn)動(dòng) 判斷勝負(fù) 計(jì)分 var go = document.getElementById('go'); // 運(yùn)動(dòng)趨于 var main = document.getElementById('main'); var timer; var speed = 5,num = 0,flag = true; function bindEvent() { go.addEventListener('click', function () { go.style.display = 'none'; move(); }); main.addEventListener('click',function(e){ if(flag){ var tar = e.target; if(tar.className == 'tar'){ tar.style.backgroundColor = '#bbb'; tar.classList.remove('tar'); num++; }else{ clearInterval(timer); alert('游戲結(jié)束吧得分'+num); flag = false; } } }); } bindEvent(); function move() { timer = setInterval(function(){ // 初始位置+速度 var step = parseInt(main.offsetTop)+speed; // 當(dāng)前位置付給新的top main.style.top = step+'px'; if(parseInt(main.offsetTop)>=0){ main.style.top = '-150px'; cDiv(); } // 移除多余的div var len = main.childNodes.length; if(len == 6){ var lastRow = main.childNodes[len -1]; // 是否結(jié)束 for(var i = 0;i<4;i++){ if(lastRow.childNodes[i].classList.contains('tar')){ clearInterval(timer); alert('游戲結(jié)束得分:'+num); flag = false; }} main.removeChild(main.childNodes[len - 1]); } } ,20 ); } // 創(chuàng)建行和列 function cDiv() { // 生成數(shù)組顏色 var color = ['red','blue','green','pink']; // 創(chuàng)建一個(gè)行 var oDiv = document.createElement('div'); // 生成一個(gè)隨機(jī)數(shù) var index = Math.floor(Math.random()*4); // 創(chuàng)建四列 for (var i = 0; i < 4; i++) { // 創(chuàng)建四個(gè)列塊 var iDiv = document.createElement('div'); // 行里面插入列 oDiv.appendChild(iDiv); } // 被點(diǎn)擊的div var clickDiv = oDiv.childNodes[index]; clickDiv.setAttribute('class','tar'); // 顏色隨機(jī) clickDiv.style.backgroundColor = color[index]; oDiv.setAttribute('class', 'row'); // 如果行為空則插入,如果不為空則向上插入; if (main.childNodes.length == 0) { main.appendChild(oDiv); } else { main.insertBefore(oDiv, main.childNodes[0]); } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
微信小程序自定義yPicker組件實(shí)現(xiàn)省市區(qū)三級聯(lián)動(dòng)功能
這篇文章主要介紹了微信小程序自定義yPicker組件分析及省市區(qū)三級聯(lián)動(dòng)實(shí)現(xiàn),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10JavaScript delete操作符應(yīng)用實(shí)例
delete 運(yùn)算符 從對象中刪除一個(gè)屬性,或從數(shù)組中刪除一個(gè)元素。2009-01-01javascript函數(shù)的4種調(diào)用方式與this的指向
本文主要介紹了javascript函數(shù)的4種調(diào)用方式與this(上下文)的指向,文中有詳細(xì)的代碼示例,感興趣的同學(xué)可以參考閱讀一下2023-05-05使用原生js封裝webapp滑動(dòng)效果(慣性滑動(dòng)、滑動(dòng)回彈)
這篇文章主要介紹了使用原生js封裝webapp滑動(dòng)效果,具有慣性滑動(dòng)、滑動(dòng)回彈功能,需要的朋友可以參考下2014-05-05JS驗(yàn)證input輸入框(字母,數(shù)字,符號,中文)
本文主要介紹了JS驗(yàn)證input輸入框(字母,數(shù)字,符號,中文)的方法。具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-03-03JS基礎(chǔ)之undefined與null的區(qū)別分析
在JavaScript開發(fā)中,被人問到:null與undefined到底有啥區(qū)別?一時(shí)間不好回答,特別是undefined,因?yàn)檫@涉及到undefined的實(shí)現(xiàn)原理。2011-08-08javascript獲取當(dāng)前的時(shí)間戳的方法匯總
這篇文章主要介紹了javascript獲取當(dāng)前的時(shí)間戳的方法匯總的相關(guān)資料,需要的朋友可以參考下2015-07-07JS簡單判斷滾動(dòng)條的滾動(dòng)方向?qū)崿F(xiàn)方法
這篇文章主要介紹了JS簡單判斷滾動(dòng)條的滾動(dòng)方向?qū)崿F(xiàn)方法,涉及javascript針對scrollTop事件的相關(guān)操作技巧,需要的朋友可以參考下2017-04-04