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 相关文章推荐
点弹代码 点击页面任何位置都可以弹出页面效果代码
Sep 17 Javascript
Jquery实现列表(隔行换色,全选,鼠标滑过当前行)效果实例
Jun 09 Javascript
jquery动态改变onclick属性导致失效的问题解决方法
Dec 04 Javascript
原生js实现淘宝首页点击按钮缓慢回到顶部效果
Apr 06 Javascript
基于jQuery创建鼠标悬停效果的方法
Mar 07 Javascript
jQuery实现图片上传和裁剪插件Croppie
Nov 29 Javascript
Vue.js中用v-bind绑定class的注意事项
Dec 13 Javascript
easyUI combobox实现联动效果
Jan 17 Javascript
ZeroClipboard.js使用一个flash复制多个文本框
Jun 19 Javascript
详解wepy开发小程序踩过的坑(小结)
May 22 Javascript
jquery 插件重新绑定的处理方法分析
Nov 23 jQuery
VUE Elemen-ui之穿梭框使用方法详解
Jan 19 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
分享ThinkPHP3.2中关联查询解决思路
2015/09/20 PHP
thinkphp3.x连接mysql数据库的方法(具体操作步骤)
2016/05/19 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
innerText和innerHTML 一些问题分析
2009/05/18 Javascript
学习ExtJS TextField常用方法
2009/10/07 Javascript
jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON问题的解决方法
2011/07/28 Javascript
查看源码的工具 学习jQuery源码不错的工具
2011/12/26 Javascript
js 实现菜单左右滚动显示示例介绍
2013/11/21 Javascript
connection reset by peer问题总结及解决方案
2016/10/21 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
2017/02/14 Javascript
bootstrap datetimepicker日期插件超详细使用方法介绍
2017/02/23 Javascript
EasyUI在Panel上动态添加LinkButton按钮
2017/08/11 Javascript
浅析Vue中method与computed的区别
2018/03/06 Javascript
Vue导出页面为PDF格式的实现思路
2018/07/31 Javascript
jQuery模拟12306城市选择框功能简单实现方法示例
2018/08/13 jQuery
javascript匿名函数中的'return function()'作用
2018/10/15 Javascript
如何基于vue-cli3.0构建功能完善的移动端架子
2019/04/24 Javascript
[02:40]DOTA2英雄基础教程 先知
2013/11/29 DOTA
pygame游戏之旅 添加键盘按键的方法
2018/11/20 Python
利用keras使用神经网络预测销量操作
2020/07/07 Python
Python实现打包成库供别的模块调用
2020/07/13 Python
python实现图像高斯金字塔的示例代码
2020/12/11 Python
html5 input输入实时检测以及延时优化
2018/07/18 HTML / CSS
Sneaker Studio法国:购买运动鞋
2018/06/08 全球购物
夏威夷灵感服装及配饰:Reyn Spooner
2018/09/18 全球购物
可持续未来的时尚基础:Alternative Apparel
2019/05/06 全球购物
优秀企业获奖感言
2014/02/01 职场文书
常务副总经理岗位职责
2014/04/12 职场文书
节水口号标语
2014/06/19 职场文书
欢迎领导标语
2014/06/27 职场文书
先进工作者推荐材料
2014/12/23 职场文书
放假通知格式
2015/04/14 职场文书
关于幸福的感言
2015/08/03 职场文书
(开源)微信小程序+mqtt,esp8266温湿度读取
2021/04/02 Javascript
在pycharm中无法import所安装的库解决方案
2021/05/31 Python
电脑无法安装Windows 11怎么办?无法安装Win11的解决方法
2021/11/21 数码科技