js实现踩五彩块游戏

时间:2021-05-26

本文实例为大家分享了js实现踩五彩块游戏的具体代码,供大家参考,具体内容如下

<!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> <!-- 运动的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; }.row{ width: 400px; height: 150px;}.row div{ float: left; width: 100px; height: 150px; border: 1px solid #000; box-sizing: border-box; }

js:

// bindEvent显示开始,清除 creatDiv增加一行 move运动 判断胜负 计分var go = document.getElementById('go');// 运动趋于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('游戏结束吧得分'+num); flag = false; } } });}bindEvent();function move() { timer = setInterval(function(){ // 初始位置+速度 var step = parseInt(main.offsetTop)+speed; // 当前位置付给新的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]; // 是否结束 for(var i = 0;i<4;i++){ if(lastRow.childNodes[i].classList.contains('tar')){ clearInterval(timer); alert('游戏结束得分:'+num); flag = false; }} main.removeChild(main.childNodes[len - 1]); } } ,20 );}// 创建行和列function cDiv() { // 生成数组颜色 var color = ['red','blue','green','pink']; // 创建一个行 var oDiv = document.createElement('div'); // 生成一个随机数 var index = Math.floor(Math.random()*4); // 创建四列 for (var i = 0; i < 4; i++) { // 创建四个列块 var iDiv = document.createElement('div'); // 行里面插入列 oDiv.appendChild(iDiv); } // 被点击的div var clickDiv = oDiv.childNodes[index]; clickDiv.setAttribute('class','tar'); // 颜色随机 clickDiv.style.backgroundColor = color[index]; oDiv.setAttribute('class', 'row'); // 如果行为空则插入,如果不为空则向上插入; if (main.childNodes.length == 0) { main.appendChild(oDiv); } else { main.insertBefore(oDiv, main.childNodes[0]); }}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章