iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JS实现别踩白块游戏的示例代码
  • 902
分享到

JS实现别踩白块游戏的示例代码

2024-04-02 19:04:59 902人浏览 安东尼
摘要

目录实现思路核心代码html代码CSS代码js代码实现思路 1、offsetTop,与style.top 2、我们看到的是白块在向下运动,其实不是,政治运动的是装着白块的盒子,白块

实现思路

1、offsetTop,与style.top

2、我们看到的是白块在向下运动,其实不是,政治运动的是装着白块的盒子,白块只是被装在了盒子里面被带着向下,而向下运动也只是改变top值。同事盒子total的高度也不是无限长的能一直向下运动,所以肯定是运动到某个地方他又回去了。

childnodes:由childNodes属性返回的数组中包含着所有类型的节点,所有的属性节点和文本节点也包含在其中。(不能乱用)

JS获取元素的left和top值:

核心代码

HTML代码

<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta Http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="3.css" rel="external nofollow" >
</head>
 
<body>
 
 
    <h2>
        <span>分数:</span>
        <span id="score">0</span>
    </h2>
    <!-- 游戏区 -->
    <div id="main">
        <div id="con">
 
        </div>
    </div>
    <div class="btn"><button id="start">开始游戏</button></div>
 
    <script src="3.js"></script>
</body>
 
</html>

CSS代码

* {
    margin: 0;
    padding: 0
}
 
#main {
    width: 408px;
    height: 408px;
    margin: 0 auto;
    background: white;
    border: 2px solid gray;
    overflow: hidden;
}
 
#con {
    width: 100%;
    height: 400px;
    position: relative;
    border-collapse: collapse;
    top: -100px;
}
 
 

 
.row {
    height: 100px;
    width: 100%;
}
 
 

 
.cell {
    height: 100px;
    width: 100px;
    float: left;
    border: rgb(54, 74, 129) 1px solid;
}
 
 

 
.black {
    background: black;
}
 
.btn {
    width: 100%;
    text-align: center;
}
 
button {
    width: 250px;
    height: 60px;
    border: 1px solid grey;
    margin-top: 20px;
    margin-bottom: 10px;
    background-color: rgb(162, 223, 146);
    font-size: 30px;
}
 
span {
    display: inline-block;
    width: 100%;
    cursor: pointer;
    background-color: #fff;
    font-size: 20px;
    text-align: center;
}

JS代码

window.onload = function() {
    //1、首先是点击开始游戏,里面的开始运动  
    ///1、动态生成每一行(createrow()),里面有4个小的div。需要点击,当总的行数大于5的时候,就删除最下面的哪一行
    ///2、点击黑色的div,就删除所在的这一行。并且score分数加一
    ///3、判断点击了白色盒子的话,游戏结束
    ///4、当有包含黑色的行超过范围区域时,游戏也结束fail()
 
    var score = document.querySelector('#score')
    var con = document.querySelector('#con')
    var start = document.querySelector('#start')
    start.innerHTML = '游戏开始'
        //需要给按钮加一个节流阀
    var flag = 0
    var timer = null //将timer变为一个全局变量
    start.addEventListener('click', function() {
        if (start.innerHTML == '游戏开始' && flag == 0) {
            //用一个定时器,每50毫秒调用move()
            timer = setInterval(move, [60])
            timer
            con.addEventListener('click', function(ec) {
                //  console.log(ec.target);
                console.log(ec.target.parentNode);
                if (ec.target.className == 'cell black') {
                    ec.target.className = 'cell'
                    addscore()
                    ec.target.parentNode.pass = 1 //表示我这一行的黑块元素已经被点击了
                } else if (ec.target.className = 'cell') {
                    fail()
                }
            })
            flag = 1
 
        }
 
 
    })
 
 
    var speed = 3
    var scorenumber = 0
 
    function addscore() {
 
        scorenumber += 1
        score.innerHTML = scorenumber
        if (scorenumber % 10 == 0) {
            speed += 2
        }
    }
 
    function move() {
        //什么时候开始创建行呢?就是当con的top值等于0的时候就创建一行
        var top = parseInt(window.getComputedStyle(con, null)['top']);
        if (speed + top > 0) {
            top = 0
        } else {
            top = top + speed
        }
        con.style.top = top + 'px'
        if (top == 0) {
            createrow()
            con.style.top = '-100px'
        } else {
            top = top + speed
        }
        //最多只让row的数量等于5
        if (con.children.length >= 6) {
            con.removeChild(con.lastChild)
        }
        over()
            //什么情况下游戏结束--点击了白色方块,或者黑色方块触底
    }
 
    //动态创建行
    function createrow() {
        length = parseInt(con.children.length)
        var row = document.createElement('div')
        row.className = 'row'
        var nun = Math.floor(Math.random() * 4)
        for (i = 0; i < 4; i++) {
            var idiv = document.createElement('div')
            if (i == nun) {
                idiv.className = 'cell black'
            } else {
                idiv.className = 'cell'
            }
            row.appendChild(idiv)
        }
        if (length == 0) {
            con.appendChild(row)
        } else {
            con.insertBefore(row, con.firstChild)
        }
    }
    //黑色方块触底
    function over() {
        var rows = document.querySelectorAll('.row')
        if ((rows.length == 5) && (rows[rows.length - 1].pass != 1)) //怎么忽略掉已经黑块被点击了的行
        { //因为如果点击和黑色块,就会将这一行删除,如果没有点击操作,就说明没有删除行,那么就会多一行,因此当长度等于6的时候就说明有黑色块触底
            fail()
        }
    }
    //黑色块的点击时间,其实是委托给row上面,倒不如直接再委托到con上面,用事件对象
 
    function fail() {
        clearInterval(timer)
        score.innerHTML = 0
        con.innerHTML = ''
        flag = 0
        speed = 3
        start.innerHTML = '游戏结束,得分' + scorenumber
 
    }
}

到此这篇关于JS实现别踩白块游戏的示例代码的文章就介绍到这了,更多相关JS别踩白块内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: JS实现别踩白块游戏的示例代码

本文链接: https://www.lsjlt.com/news/148861.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JS实现别踩白块游戏的示例代码
    目录实现思路核心代码HTML代码CSS代码JS代码实现思路 1、offsetTop,与style.top 2、我们看到的是白块在向下运动,其实不是,政治运动的是装着白块的盒子,白块...
    99+
    2024-04-02
  • Matlab实现别踩白块小游戏的示例代码
    目录游戏效果游戏说明完整代码pianoKeys.m(主函数)getMusic.m(用于获取音乐数据)游戏效果 游戏说明 ‘A’,‘S&rsqu...
    99+
    2024-04-02
  • html+css+js实现别踩白板小游戏
    目录背景简介一、思路分析二、页面搭建2.1 HTML层2.2 CSS层2.3 JS层2.3.1获取元素2.3.2创建每一行div元素2.3.3点击事件函数封装2.3.4 方块移动函数...
    99+
    2024-04-02
  • 使用jquery实现别踩白块小游戏的方法实例
    目录前言html首页字体中间的表格实现每一行的黑块随机显示按键事件key事件addsspeedup源码总结前言 掘金真的是太懂了,写游戏的活动,想不参加都难!第一个,别踩白块! 先来...
    99+
    2024-04-02
  • Javascript如何实现别踩白块儿小游戏
    这篇文章主要介绍了Javascript如何实现别踩白块儿小游戏,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。游戏唯一的一个规则,我们只需要不...
    99+
    2024-04-02
  • 微信小程序开发之实现别踩白块游戏
    目录一、项目展示二、无尽模式三、计时模式四、急速模式一、项目展示 别踩白块是一款微信小游戏 分为无尽模式、计时模式、急速模式三种模式 用户需要点击不断移动的黑色方块 若点击到白色方块...
    99+
    2023-02-07
    微信小程序别踩白块游戏 小程序别踩白块游戏 小程序游戏
  • HTML+JS实现猜拳游戏的示例代码
    目录效果图关于JS构建过程添加事件监听器函数 gameRules()函数 whoWon()效果图 游戏可以通过这个链接进入 关于JS构建过程 首先,我创建了一个对象,其中包含每种可...
    99+
    2024-04-02
  • Java实现经典游戏打砖块游戏的示例代码
    目录前言主要设计功能截图代码实现游戏核心类小球类砖块类总结前言 《JAVA打砖块》游戏是自制的游戏。玩家操作一根萤幕上水平的“棒子”,让一颗不断弹来弹去的&l...
    99+
    2024-04-02
  • JS+Canvas实现接球小游戏的示例代码
    目录写在最前git地址成果展示实现思路详细说明写在最后写在最前 看了canvas的动画系列,已经抑制不住内心的冲动想写个小游戏了,还是那个套路——多写写,你才...
    99+
    2024-04-02
  • 基于JS实现Flappy Bird游戏的示例代码
    前言 Flappy Bird 是一款无尽的游戏,玩家可以控制一只鸟。玩家必须保护小鸟免于与管道等障碍物相撞。每次小鸟通过管道时,分数都会增加一。当小鸟与管道碰撞或因重力而坠落时,游戏...
    99+
    2024-04-02
  • 原生JS实现H5转盘游戏的示例代码
    目录1.基础的页面布局(index.html)1.1html布局1.2css布局(style.css)2.工具函数(用于调整概率)3.传参及接收值配置4.dom操作方法及具体逻辑处理...
    99+
    2024-04-02
  • Java实现俄罗斯方块游戏的示例代码
    目录引言效果图实现思路代码实现创建窗口画布1创建菜单及菜单选项绘制游戏区域画布2画布2绘制一个小方块创建图形创建模型类模型旋转变形方块累计方块消除和积分加入自动向下线程,并启动引言 ...
    99+
    2024-04-02
  • JS实现飞机大战小游戏的示例代码
    小编给大家分享一下JS实现飞机大战小游戏的示例代码,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!先制作好要做好的几步以及背景样式var canvas = document.getElement...
    99+
    2023-06-15
  • 非html5实现js版弹球游戏示例代码
    开始前的html页面  开始后的html游戏界面  html页面布局,即index.html文件源码如下: 复制代码 代码如下: <!DOCTYPE HTM...
    99+
    2022-11-15
    html5 js 弹球游戏
  • 基于JS实现的消消乐游戏的示例代码
    目录前言游戏的准备工作总结一下棋盘渲染画面动画效果genCollapse()genDownfall()genEmerge()整合效果genLoop()genSwap()前言 一直对小...
    99+
    2024-04-02
  • 基于JS实现接粽子小游戏的示例代码
    目录游戏设计游戏实现添加粽子元素粽子掉落难度选择开始游戏总结端午节马上就到了,听说你们公司没发粽子大礼包?没关系,这里用 JS 实现了一个简单的接粽子小游戏,能接到多少粽子,完全看你...
    99+
    2024-04-02
  • 基于JS实现飞机大战游戏的示例代码
    目录演示技术栈源码定义敌方战机定义我方战机碰撞检测演示 技术栈 今天没有什么特别要讲的,要不我们提前介绍下次要做的技术吧。你不说话就是同意了。我们开始了。 下图是正则表达式的一些总...
    99+
    2024-04-02
  • 基于JS实现蜘蛛侠动作游戏的示例代码
    目录代码结构代码展示HTMLJS项目运行 游戏截图整个游戏源码是由html、js、 css、图片等代码完成的,无后端数据保存功能。 代码结构 js文件夹是游戏事件控制文件...
    99+
    2024-04-02
  • Python实现小游戏的源代码示例
    这篇文章将为大家详细讲解有关Python实现小游戏的源代码示例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、21点数字小游戏展示:首先配置文件的源码:'''配置文件'&...
    99+
    2023-06-14
  • 使用非html5实现js板连连看游戏示例代码
    向大家分享一款如何实现js版连连看游戏,如下图所示: 首先看一下html的布局方式在index.html文件中: 复制代码 代码如下: <!DOCTYPE html PUBLI...
    99+
    2022-11-15
    html5 js 连连看游戏
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作