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 相关文章推荐
脚本之家贴图转换+转贴工具用到的js代码超级推荐
Apr 05 Javascript
Javascript中正则表达式的全局匹配模式分析
Apr 26 Javascript
Javascript计算两个marker之间的距离(Google Map V3)
Apr 26 Javascript
深入领悟JavaScript中的面向对象
Nov 18 Javascript
如何实现修改密码时密码框显示保存到cookie的密码
Dec 10 Javascript
jquery教程限制文本框只能输入数字和小数点示例分享
Jan 13 Javascript
JS获取子窗口中返回的数据实现方法
May 28 Javascript
基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
Jan 09 Javascript
详解几十行代码实现一个vue的状态管理
Jan 28 Javascript
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
May 14 Javascript
JavaScript图片旋转效果实现方法详解
Jun 28 Javascript
vuex管理状态仓库使用详解
Jul 29 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实现将字符串按照指定距离进行分割的方法
2015/03/14 PHP
PHP5.3以上版本安装ZendOptimizer扩展
2015/03/27 PHP
Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例
2017/07/07 PHP
PHP异常类及异常处理操作实例详解
2018/12/19 PHP
讲两件事:1.this指针的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件处理上的区别
2007/04/12 Javascript
formStorage 基于jquery的一个插件(存储表单中元素的状态到本地)
2012/01/20 Javascript
Windows8下搭建Node.js开发环境教程
2014/09/03 Javascript
jQuery在ul中显示某个li索引号的方法
2015/03/17 Javascript
在JavaScript的jQuery库中操作AJAX的方法讲解
2015/08/15 Javascript
Bootstrap富文本组件wysiwyg数据保存到mysql的方法
2016/05/09 Javascript
Bootstrapvalidator校验、校验清除重置的实现代码(推荐)
2016/09/28 Javascript
详解angularjs popup-table 弹出框表格指令
2017/09/20 Javascript
使用Vue自定义数字键盘组件(体验度极好)
2017/12/19 Javascript
深入浅析JSONAPI在PHP中的应用
2017/12/24 Javascript
详解webpack2异步加载套路
2018/09/14 Javascript
vue添加axios,并且指定baseurl的方法
2018/09/19 Javascript
微信小程序自定义导航教程(兼容各种手机)
2018/12/12 Javascript
React中阻止事件冒泡的问题详析
2019/04/12 Javascript
python在windows下创建隐藏窗口子进程的方法
2015/06/04 Python
python 获取网页编码方式实现代码
2017/03/11 Python
Python中单、双下划线的区别总结
2017/12/01 Python
谈谈Python中的while循环语句
2019/03/10 Python
在python shell中运行python文件的实现
2019/12/21 Python
Python logging模块原理解析及应用
2020/08/13 Python
娇韵诗法国官网:Clarins法国
2019/01/29 全球购物
领导干部培训感言
2014/01/23 职场文书
大学生英语演讲稿
2014/04/24 职场文书
党员教师群众路线对照检查材料思想汇报
2014/09/29 职场文书
房产公证书
2015/01/23 职场文书
2015年农村党员公开承诺事项
2015/04/28 职场文书
侵犯商业秘密的律师函
2015/05/27 职场文书
总经理致辞
2015/07/29 职场文书
入党宣誓大会后的感想
2015/08/10 职场文书
总结Python连接CS2000的详细步骤
2021/06/23 Python
C站最全Python标准库总结,你想要的都在这里
2021/07/03 Python
mysql中DCL常用的用户和权限控制
2022/03/31 MySQL