js实现一款简单踩白块小游戏(曾经很火)

  

效果图如下所示:

  

 js实现一款简单踩白块小游戏(曾经很火)

  html

        & lt; div类=癰igbox”比;   & lt; !——显示游戏的区域——比;   & lt; div类=癵amequyu”比;   & lt; !——上面显示一个游戏开始的按钮——比;   & lt; div类="开始"祝辞游戏开始& lt;/div>   & lt; !——再显示一个游戏的主体部分——比;   & lt; div类=" zhuti "祝辞& lt;/div>   & lt; div类=" zhezhaoceng "祝辞& lt;/div>      & lt;/div>   & lt; !——下面再显示一个计分的盒子——比;   & lt; div类=" jifen "祝辞当前分数:0 & lt;/div>   & lt;/div>      

js
  

        & lt; script>//先找到主体内容的盒子,添加到这个盒子中去   var zhuti=document.getElementsByClassName (zhuti) [0];//找到计分,每点击一次,就让分数+ +;   var jifen=document.getElementsByClassName (jifen) [0];//找到游戏开始按钮,点击让它影藏,结束时显示并把里面的文字改变为“游戏结束的   var=document.getElementsByClassName开始(“开始”)[0];//找到遮罩层,结束游戏的时候显示   var zhezhaoceng=document.getElementsByClassName (zhezhaoceng) [0];//addbox(“行”)//动态创建盒子的函数   函数addbox(名称){//思路://1:先封装一个函数动态的创建盒子;//2:一个盒子里装了四个小盒子;//3:随机一个数,让这四个小盒子的某一个的颜色改为黑色;//4:给这个小盒子添加类名,设置样式;//5:随机数作为下标,给这个随机数的下标的小盒子添加一个类名;//6:添加到“zhuti”里面去,显示在页面上(如果zhuti里面有内容了,就要添加到所有内容的最前面,如果没有,接直接添加)//生成随机数作为四个盒子的下标   var指数=Math.floor (math . random () * 4)//console.log(指数);//创建一个盒子;   var bigdiv=document.createElement (div);   bigdiv。className=名称;//再依次创建四个小盒子;添加到刚刚创建的大盒子中;   (var=0;我& lt;4;我+ +){   var smallbox=document.createElement (div)   bigdiv.appendChild (smallbox)   }//判断主体里面有没有盒子;//如果已经存在盒子,就要添加到它们的最前面//如果没有,就可以直接添加到页面上   如果(zhuti.children。长度==0){   zhuti.appendChild (bigdiv)   其他}{   zhuti。方法(bigdiv zhuti.children [0])   }//给随机下标的盒子添加样式的背景色为黑色;   bigdiv.children .style(指数)。写成backgroundColor='黑色';//再给这个随机的盒子添加一点东西,可以用来做判断   bigdiv.children(指数)。className=皉andom_box”;   }//计分与控制速度的函数   函数移动(obj) {//封装一个计时器移动的方法,让主体内的内容动起来;//思路://1:先获取元素的最终样式,距离顶部的顶值;//2:声明两个变量;一个用来改变元素距离顶部的顶值;一个用来计分数;   var num=0;   var sudu=5;//创建一个计时器让它缓动显示到页面//在样式里面就设置了前值为-150 px;//通过计时器让它的顶值缓动到页面,当它的顶值等于0的时候,又让它的顶值变为-150 px;//就调用创建元素的方法再创建一个盒子,让它插在这个显示在页面上的盒子的前面   obj。timeID=setInterval(函数(){   var nowtop=方法(getComputedStyle (obj)['高级'])+ sudu;//console.log (nowtop);   obj.style。顶级=nowtop +“px”;   如果(方法(getComputedStyle (obj)['高级'])在=0){   addbox(“行”)   obj.style。顶级=-150 +“px”   }//判断条件:在移动的时候,如果用户没有点击到带有颜色的盒子,让盒子超过了界限;就结束游戏;   如果(obj.children。长度==6){   (var=0;我& lt;4;我+ +){   如果(obj.children [obj.children。长度- 1]定格[我]。className==random_box) {      jifen。innerHTML='当前最高得分:' + num;   start.style。显示='块'   开始。innerHTML='小朋友,游戏结束”;   start.style。显示=翱椤?   start.style。写成backgroundColor=奥躺?   start.style。身高=60 +“px”;   start.style。字形大?30 +“px”;   zhezhaoceng.style。显示=翱椤?   clearInterval (obj.timeID)      }   }//让主体的内容的长度永远等于6日如果不等于6日就会出现按下第一个带“random_box”类名的小盒子,之后就不会再回到以上的判断里面了;   obj.removeChild (obj.children [obj.children。长度- 1)   }//console.log (obj.children.length);//判断用户点击的时候:条件:如果没有点中指定的盒子(类名为“random_box”)的盒子,就结束游戏,不然就计分num + +;   obj。onmousedown=函数(事件){//根据事件对象里面的事件源来进行判断;//当它的事件源的名字等于“random_box”的时候;   如果(event.target。className==random_box) {//让这个事件源的的背景色变为红色;   event.target.style。写成backgroundColor=昂焐?//当用户点击了事件源时,把他的类名清空,不然只变了颜色,到了第6个,判断类名还是“random_box”时,就会结束游戏;   event.target。className=";//计分   num + +;//显示在当前得分的盒子里   jifen。innerHTML='当前得分' + num;   其他}{//结束游戏   clearInterval (obj.timeID)   start.style。显示=翱椤?   start.style。写成backgroundColor=奥躺?   start.style。身高=60 +“px”;   start.style。字形大?30 +“px”;   开始。innerHTML='游戏结束!再来一局”;   jifen。innerHTML='最终得分' + num;//让遮罩层显示   zhezhaoceng.style。显示=翱椤?   }//加速(判断分数到了多少时,让主体下降的顶值变大)   如果(num % 5==0) {   sudu + +;   }   }      },20)   }//当它点击开始按钮的时候,再调用函数;运行起来;   开始。onclick=function () {//如果事重新来一局,那就先把页面上已经创建的盒子先清除;   如果(zhuti.children。长度!=0){   zhuti。innerHTML="   }//让遮罩层隐藏   zhezhaoceng.style。显示='没有';//让开始的按钮影藏   this.style。显示='没有';   jifen。innerHTML='当前得分:0   移动(zhuti)   }   & lt;/script>

js实现一款简单踩白块小游戏(曾经很火)