js实现踩五彩块游戏


Posted in Javascript onFebruary 08, 2020

本文实例为大家分享了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;
 /* 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;
 /* 最终显示宽度为设定宽度 */
}

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]);
 }

}

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

Javascript 相关文章推荐
JQuery通过Ajax提交表单并返回结果
Jul 31 Javascript
浅谈javascript中createElement事件
Dec 05 Javascript
JavaScript代码轻松实现网页内容禁止复制(代码简单)
Oct 23 Javascript
超实用的JavaScript表单代码段
Feb 26 Javascript
Ionic2开发环境搭建教程
Aug 20 Javascript
Node.js pipe实现源码解析
Aug 12 Javascript
解决vue2中使用axios http请求出现的问题
Mar 05 Javascript
vue对storejs获取的数据进行处理时遇到的几种问题小结
Mar 20 Javascript
vue封装一个简单的div框选时间的组件的方法
Jan 06 Javascript
如何为你的JS项目添加智能提示与类型检查详解
Mar 12 Javascript
Javascript实现一朵从含苞到绽放的玫瑰
Mar 30 Javascript
Ant Design Pro 之 ProTable使用操作
Oct 31 Javascript
JavaScript canvas实现雪花随机动态飘落
Feb 08 #Javascript
JS实现简易留言板增删功能
Feb 08 #Javascript
原生JS实现留言板功能
Feb 08 #Javascript
javascript实现留言板功能
Feb 08 #Javascript
JavaScript实现PC端横向轮播图
Feb 07 #Javascript
vue更改数组中的值实例代码详解
Feb 07 #Javascript
Vue 一键清空表单的实现方法
Feb 07 #Javascript
You might like
PHP初学者头疼问题总结
2006/07/08 PHP
java EJB 加密与解密原理的一个例子
2008/01/11 PHP
可以支持多中格式的JS键盘
2007/05/02 Javascript
jQuery 添加/移除CSS类实现代码
2010/02/11 Javascript
JavaScript之appendChild、insertBefore和insertAfter使用说明
2010/12/30 Javascript
javascript代码编写需要注意的7个小细节小结
2011/09/21 Javascript
JavaScript转换农历类实现及调用方法
2013/01/27 Javascript
引入JS文件IE6报语法错误或缺少对象问题的解决方法
2014/01/09 Javascript
JS实现判断滚动条滚到页面底部并执行事件的方法
2014/12/18 Javascript
jQuery实现冻结表格行和列
2015/04/29 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐二)
2016/07/12 Javascript
js内置对象处理_打印学生成绩单的简单实现
2016/09/24 Javascript
javascript实现右下角广告框效果
2017/02/01 Javascript
原生js FileReader对象实现图片上传本地预览效果
2020/03/27 Javascript
Vue仿支付宝支付功能
2018/05/25 Javascript
JavaScript模拟实现自由落体效果
2018/08/28 Javascript
微信小程序通过一个json实现分享朋友圈图片
2019/09/03 Javascript
javascript的惯性运动实现代码实例
2019/09/07 Javascript
js实现单元格拖拽效果
2020/02/10 Javascript
[00:20]DOTA2荣耀之路7:-ah fu-抢盾
2018/05/31 DOTA
初学python数组的处理代码
2011/01/04 Python
Python中的time模块与datetime模块用法总结
2016/06/30 Python
python实现自动登录
2018/09/17 Python
selenium处理元素定位点击无效问题
2019/06/12 Python
python 字典操作提取key,value的方法
2019/06/26 Python
python 修改本地网络配置的方法
2019/08/14 Python
手机使用python操作图片文件(pydroid3)过程详解
2019/09/25 Python
Python基础之高级变量类型实例详解
2020/01/03 Python
python数据抓取3种方法总结
2021/02/07 Python
二年级语文上册复习计划
2015/01/19 职场文书
公司出纳岗位职责
2015/03/31 职场文书
和谐拯救危机观后感
2015/06/15 职场文书
cf战队宣传语
2015/07/13 职场文书
Minikube搭建Kubernetes集群
2022/03/31 Servers
Android基于Fresco实现圆角和圆形图片
2022/04/01 Java/Android
一篇文章带你掌握SQLite3基本用法
2022/06/14 数据库