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 相关文章推荐
仿校内登陆框,精美,给那些很厉害但是没有设计天才的程序员
Nov 24 Javascript
window.parent调用父框架时 ie跟火狐不兼容问题
Jul 30 Javascript
能说明你的Javascript技术很烂的五个原因分析
Oct 28 Javascript
js获得当前时区夏令时发生和终止的时间代码
Feb 23 Javascript
让JavaScript的Alert弹出框失效的方法禁止弹出警告框
Sep 03 Javascript
JavaScript中判断整字类型最简洁的实现方法
Nov 08 Javascript
Bootstrap基本模板的使用和理解1
Dec 14 Javascript
SVG动画vivus.js库使用小结(实例代码)
Sep 14 Javascript
js通过Date对象实现倒计时动画效果
Oct 27 Javascript
jQuery中的$是什么意思及 $. 和 $().的区别
Apr 20 jQuery
element-ui tooltip修改背景颜色和箭头颜色的实现
Dec 16 Javascript
Vue鼠标滚轮滚动切换路由效果的实现方法
Aug 04 Vue.js
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运行环境配置与开发环境的配置(图文教程)
2013/06/04 PHP
探讨PHP JSON中文乱码的解决方法详解
2013/06/06 PHP
PHP 读取文本文件内容并分页显示
2016/01/02 PHP
详谈PHP面向对象中常用的关键字和魔术方法
2017/02/04 PHP
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
js显示文本框提示文字的方法
2015/05/07 Javascript
使用Javascript实现选择下拉菜单互移并排序
2016/02/23 Javascript
D3.js实现折线图的方法详解
2016/09/21 Javascript
js浏览器html5表单验证
2016/10/17 Javascript
JavaScript如何一次性展示几万条数据
2017/03/30 Javascript
js中的闭包学习心得
2018/02/06 Javascript
vue获取当前点击的元素并传值的实例
2018/03/09 Javascript
jQuery Ajax async=&gt;false异步改为同步时,解决导致浏览器假死的问题
2019/07/22 jQuery
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
2020/05/21 Javascript
python使用在线API查询IP对应的地理位置信息实例
2014/06/01 Python
Python中内置的日志模块logging用法详解
2016/07/12 Python
Python中最大最小赋值小技巧(分享)
2017/12/23 Python
matplotlib给子图添加图例的方法
2018/08/03 Python
Python实现计算对象的内存大小示例
2019/07/10 Python
python中列表的切片与修改知识点总结
2019/07/23 Python
python文档字符串(函数使用说明)使用详解
2019/07/30 Python
Python实现加密接口测试方法步骤详解
2020/06/05 Python
python求numpy中array按列非零元素的平均值案例
2020/06/08 Python
python Timer 类使用介绍
2020/12/28 Python
前端canvas动画如何转成mp4视频的方法
2019/06/17 HTML / CSS
Bjorn Borg官方网上商店:国际运动时尚品牌
2016/08/27 全球购物
英国Zoro工具:手动工具,电动工具和个人防护用品
2016/11/02 全球购物
中邮全球便购:中国邮政速递物流
2017/03/04 全球购物
SOA面试题:如何在SOA中实现松耦合
2013/07/21 面试题
计算机毕业大学生推荐信
2013/12/01 职场文书
弘扬雷锋精神活动演讲稿
2014/03/04 职场文书
保护环境建议书
2014/03/12 职场文书
团干部培训方案
2014/06/03 职场文书
2014年食品安全工作总结
2014/12/04 职场文书
辞职信的写法
2015/02/27 职场文书
教学反思怎么写
2016/02/24 职场文书