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 相关文章推荐
javascript FormatNumber函数实现方法
Dec 30 Javascript
ExtJS 2.0 实用简明教程之布局概述
Apr 29 Javascript
js实现翻页后保持checkbox选中状态的实现方法
Nov 03 Javascript
JavaScript拖拽、碰撞、重力及弹性运动实例分析
Jan 08 Javascript
Augularjs-起步详解
Jul 08 Javascript
JavaScript交换两个变量值的七种解决方案
Dec 01 Javascript
JS在浏览器中解析Base64编码图像
Feb 09 Javascript
基于vue实现多引擎搜索及关键字提示
Mar 16 Javascript
javascript闭包功能与用法实例分析
Apr 06 Javascript
微信小程序访问node.js接口服务器搭建教程
Apr 25 Javascript
在Vue组件化中利用axios处理ajax请求的使用方法
Aug 25 Javascript
JS实现手写parseInt的方法示例
Sep 24 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判断网页是否gzip压缩
2013/06/25 PHP
利用php下载xls文件(自己动手写的)
2014/04/18 PHP
PHP实现单文件、多个单文件、多文件上传函数的封装示例
2019/09/02 PHP
js程序中美元符号$是什么
2008/06/05 Javascript
Js 获取Gridview选中行的内容操作步骤
2013/02/05 Javascript
对于Form表单reset方法的新认识
2014/03/05 Javascript
jQuery实现的Div窗口震动特效
2014/06/09 Javascript
JavaScript中length属性的使用方法
2015/06/05 Javascript
js canvas实现擦除动画
2016/07/16 Javascript
利用select实现年月日三级联动的日期选择效果【推荐】
2016/12/13 Javascript
深入学习js函数的隐式参数 arguments 和 this
2019/06/24 Javascript
Vue实现push数组并删除的例子
2019/11/01 Javascript
Vue文本模糊匹配功能如何实现
2020/07/30 Javascript
[02:35]DOTA2英雄基础教程 末日使者
2013/12/04 DOTA
Python应用03 使用PyQT制作视频播放器实例
2016/12/07 Python
python实现给微信公众号发送消息的方法
2017/06/30 Python
python实现上传下载文件功能
2020/11/19 Python
python中闭包Closure函数作为返回值的方法示例
2017/12/17 Python
Python使用try except处理程序异常的三种常用方法分析
2018/09/05 Python
python批量创建指定名称的文件夹
2019/03/21 Python
python mysql 字段与关键字冲突的解决方式
2020/03/02 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
2020/03/24 Python
关于Java finally的面试题
2016/04/27 面试题
行政助理求职自荐信
2013/10/26 职场文书
护理专科毕业推荐信
2013/11/10 职场文书
获奖的大学生创业计划书
2014/01/05 职场文书
任命书格式
2014/06/05 职场文书
2014年度安全生产目标管理责任书
2014/07/25 职场文书
法院授权委托书范文
2014/08/02 职场文书
县长“四风”对照检查材料思想汇报
2014/10/05 职场文书
检讨书怎么写
2015/01/23 职场文书
会议开幕词
2015/01/28 职场文书
实习班主任自我评价
2015/03/11 职场文书
小学家长意见怎么写
2015/06/03 职场文书
关于JavaScript回调函数的深入理解
2021/06/27 Javascript
使用CSS实现按钮边缘跑马灯动画
2023/05/07 HTML / CSS