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 相关文章推荐
在第一个input框内输入内容.textarea自动得到第一个文件框的值的javascript代码
Apr 20 Javascript
javascript 简练的几个函数
Aug 29 Javascript
javascript 模式设计之工厂模式详细说明
May 10 Javascript
解决jquery的datepicker的本地化以及Today问题
May 23 Javascript
jQuery 追加元素的方法如append、prepend、before
Jan 16 Javascript
JavaScript对表格或元素按文本,数字或日期排序的方法
May 26 Javascript
关于微信中a链接无法跳转问题
Aug 02 Javascript
JavaScript实现树的遍历算法示例【广度优先与深度优先】
Oct 26 Javascript
jQuery使用each遍历循环的方法
Sep 19 jQuery
在Vant的基础上实现添加表单验证框架的方法示例
Dec 05 Javascript
vue项目中实现的微信分享功能示例
Jan 21 Javascript
JS前端监控采集用户行为的N种姿势
Jul 23 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写MySQL数据 实现代码
2009/06/15 PHP
php计算程序运行时间的简单例子分享
2014/05/10 PHP
php文件缓存类用法实例分析
2015/04/22 PHP
PJ Blog修改-禁止复制的代码和方法
2006/10/25 Javascript
在IE模态窗口中自由查看HTML源码的方法
2007/03/08 Javascript
jQuery 1.3 和 Validation 验证插件1.5.1
2009/07/09 Javascript
javascript动画之圆形运动,环绕鼠标运动作小球
2010/07/20 Javascript
jQuery仿Excel表格编辑功能的实现代码
2013/05/01 Javascript
js实现图片和链接文字同步切换特效的方法
2015/02/20 Javascript
JSON字符串转换JSONObject和JSONArray的方法
2016/06/03 Javascript
Vue.js自定义指令的用法与实例解析
2017/01/18 Javascript
easyui-edatagrid.js实现回车键结束编辑功能的实例
2017/04/12 Javascript
前端开发不得不知的10个最佳ES6特性
2017/08/30 Javascript
基于jQuery的$.getScript方法去加载javaScript文档解析
2017/11/08 jQuery
Vue 动态设置路由参数的案例分析
2018/04/24 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
深入理解 ES6中的 Reflect用法
2020/07/18 Javascript
用PyInstaller把Python代码打包成单个独立的exe可执行文件
2018/05/26 Python
python实现烟花小程序
2019/01/30 Python
Python基于datetime或time模块分别获取当前时间戳的方法实例
2019/02/19 Python
实例讲解Python中整数的最大值输出
2019/03/17 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
2020/03/16 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
2020/03/23 Python
如何理解Python中包的引入
2020/05/29 Python
Python3实现英文字母转换哥特式字体实例代码
2020/09/01 Python
使用Python爬虫爬取小红书完完整整的全过程
2021/01/19 Python
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
大学生农村教师实习自我鉴定
2013/09/21 职场文书
关于学习的演讲稿
2014/05/10 职场文书
法律顾问服务方案
2014/05/15 职场文书
演讲稿开场白台词
2014/08/25 职场文书
北京离婚协议书范文2014
2014/09/29 职场文书
2015年安全员工作总结范文
2015/04/22 职场文书
2015党建工作简报
2015/07/21 职场文书
2016医师资格考试考生诚信考试承诺书
2016/03/25 职场文书
Kubernetes中Deployment的升级与回滚
2022/04/01 Servers