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 Pro-深入面向对象的程序设计之继承的详解
May 07 Javascript
让浏览器DOM元素最后加载的js方法
Jul 29 Javascript
JQuery拖动表头边框线调整表格列宽效果代码
Sep 10 Javascript
js读取json的两种常用方法示例介绍
Oct 19 Javascript
jQuery实现表单提交时判断的方法
Dec 13 Javascript
Js制作点击输入框时默认文字消失的效果
Sep 05 Javascript
基于javascript实现泡泡大冒险网页版小游戏
Mar 23 Javascript
JavaScript解析JSON格式数据的方法示例
Jan 24 Javascript
基于JavaScript实现前端数据多条件筛选功能
Aug 19 Javascript
关于TypeScript模块导入的那些事
Jun 12 Javascript
vue实现图片上传预览功能
Dec 23 Javascript
js实现整体缩放页面适配移动端
Mar 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
德生S2000南麂列岛台湾FM收听记录
2021/03/02 无线电
php目录操作函数之获取目录与文件的类型
2010/12/29 PHP
php5.3 goto函数介绍和示例
2014/03/21 PHP
PHP写的资源下载防盗链类分享
2014/05/12 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
js getBoundingClientRect() 来获取页面元素的位置
2010/11/25 Javascript
js中window.open()的所有参数详细解析
2014/01/09 Javascript
jQuery中offsetParent()方法用法实例
2015/01/19 Javascript
js实现格式化金额,字符,时间的方法
2015/02/26 Javascript
JS模拟并美化的表单控件完整实例
2015/08/19 Javascript
jQuery表单事件实例代码分享
2016/08/18 Javascript
Node.js静态服务器的实现方法
2018/02/28 Javascript
vue2.0 自定义 饼状图 (Echarts)组件的方法
2018/03/02 Javascript
在Vue项目中引入腾讯验证码服务的教程
2018/04/03 Javascript
13 个npm 快速开发技巧(推荐)
2019/07/04 Javascript
JS XMLHttpRequest原理与使用方法深入详解
2020/04/30 Javascript
[36:17]DOTA2上海特级锦标赛 - VGL音乐会全集
2016/03/06 DOTA
[02:32]【DOTA2亚洲邀请赛】iceice,梦开始的地方
2017/03/13 DOTA
Python使用pylab库实现绘制直方图功能示例
2018/06/01 Python
Python读取mat文件,并保存为pickle格式的方法
2018/10/23 Python
python实现简单的文字识别
2018/11/27 Python
Python lambda表达式用法实例分析
2018/12/25 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
2019/08/20 Python
python实现扫雷游戏
2020/03/03 Python
Pycharm操作Git及GitHub的步骤详解
2020/10/27 Python
SVG实现多彩圆环倒计时效果的示例代码
2017/11/21 HTML / CSS
CAT鞋英国官网:坚固耐用的靴子和鞋
2016/10/21 全球购物
荷兰天然和有机产品网上商城:BigGreenSmile.nl
2020/07/26 全球购物
金士达面试非笔试
2012/03/14 面试题
销售辞职报告范文
2014/01/12 职场文书
公司领导九九重阳节发言稿2014
2014/09/25 职场文书
离婚协议书怎么写2014
2014/09/30 职场文书
党员作风建设整改方案
2014/10/27 职场文书
辩论会主持词
2015/07/03 职场文书
Python机器学习之底层实现KNN
2021/06/20 Python
Java虚拟机内存结构及编码实战分享
2022/04/07 Java/Android