先放出游戏截图馋一下你们

滚动的月饼,跳跃的死神,尽全力跳起,又在重力的作用下回落。。。这不正是人生奋斗的写照吗?只是, 盛年不重来,一日难再晨。 珍惜奋斗拼搏的时光,珍惜陪在你身边的亲人,兄弟,爱人。

基础框架

  • 背景图依旧是采用中秋主题
  • 游戏容器就是设置左上角和右下角圆角,加半透明背景色即可,绝对定位的方式居中
  • 死神素材来源于网络,定位的方式固定在那里
  • 滚动的月饼素材来源于网络,通过动画+js方式实现位移+滚动
  • 初始化定时器,得分
<div id="box"><div class="ground"></div><div class="Death"></div><div class="score">0</div><div class="result"></div></div>

判断逻辑

  • 监听按键的空格和上箭头事件,更新死神dom的bottom值,来实现向上跳,向下回落采用定时器递减方式回落,每次进来清空上一个定时器,这也是为什么定时器需要声明为全局变量,边界条件处理,当落回地面时,需要清空定时器
 let t = null$(document).on('keydown', function (e) {if([38,32].includes(e.keyCode)) {if (t) {clearInterval(t)}let bottom = Number($('.Death').css('bottom').split('px')[0]) + 15if(bottom > $('#box').height() - 120) bottom = $('#box').height() - 120bottom = bottom+'px'$('.Death').css('bottom',bottom)t = setInterval(function () {let bottom = Number($('.Death').css('bottom').split('px')[0]) - 5if(bottom < 40) {clearInterval(t)t = nullbottom = 40}bottom = bottom+'px'$('.Death').css('bottom',bottom)}, 100)}})
  • 生成滚动月饼,采用封装函数的方式进行生成,动态生成月饼,在滚到最左侧时将月饼dom移除,同时,需要判断是否与死神发生碰撞,发生碰撞,则游戏结束
 function initBing () {let div = $('<div>')div.addClass('bing')$('#box').append(div)div.css('right', Math.ceil(Math.random()*50) + 'px')let t = setInterval(function () {let right = Number(div.css('right').split('px')[0]) + 3let left = div.css('left').split('px')[0]if (left > DeathLeft && left < (DeathLeft+120)) {if ($('.Death').css('bottom').split('px')[0] <= 40) {clearInterval(t)$('.result').show()$('.bing').remove()}}if(right > $('#box').width()) {clearInterval(t)t = null div.remove() score++ $('.score').html(score) initBing()}right = right+'px'div.css('right',right)}, 10)}

初始化

初始化就是 重复调用initBing方法,实现一次产出多个小球

 function start () {$('.result').hide()score = 0t = nullinitBing()initBing()initBing()}

重新开始

给结果dom绑定点击事件

$('.result').click(start)

就这样,我们的游戏就做完了,本文采用的是非常经典的jquery直接操作dom的这种实现思路,代码即实现,可读性强。

基于jquery复刻一个月饼版地狱死神小游戏相关推荐

  1. 【Python游戏】Python实现一个Q版泡泡堂小游戏 | 附带源码

    相关文件 想学Python的小伙伴可以关注小编的公众号[Python日志] 有很多的资源可以白嫖的哈,不定时会更新一下Python的小知识的哈!! 需要源码的小伙伴可以在公众号回复泡泡堂 Python ...

  2. 基于面向对象 来写一个简单的贪吃蛇小游戏(代码可直接用)

    分析一下用到的对象(这个案例的地图过于简单,可以不用创建为对象)     食物对象(food)     蛇对象(snake)     游戏对象(game) 1.food对象     属性 :x, y, ...

  3. 用原生JS写一个网页版的2048小游戏(兼容移动端)

    这个游戏JS部分全都是用原生JS代码写的,加有少量的CSS3动画,并简单的兼容了一下移动端. 先看一下在线的demo:https://yuan-yiming.github.io/2048-online ...

  4. AI版的五子棋小游戏

    AI版的五子棋小游戏 内容简介 本项目实现的五子棋博弈游戏是基于AI的五子棋游戏.游戏模式可以分为人机对弈和双人对弈两种模式.本程序采用基于启发式max/min算法的alpha-beta剪枝技术来选择 ...

  5. 简易贪吃蛇小游戏java版_用GUI实现java版贪吃蛇小游戏

    本文实例为大家分享了java版贪吃蛇小游戏的具体代码,供大家参考,具体内容如下 项目结构 新建一个JFrame窗口,作为程序入口 public class GameStart{ public stat ...

  6. 写一个简单的实时互动小游戏

    在写之前,我们先回顾上一篇文章,从需求.架构.设计.开发上讲述并演示了搭建一个实时通信客户端的过程,并附了图片与视频. 写这篇文章的之前,第一个互动的游戏DEMO已经写好了,先附上截图 很奇怪的一张图 ...

  7. 基于Java Swing JFream 组件的趣味推箱子小游戏

    一 需求分析 设计一个经典的推箱子小游戏,在窗体里有墙,箱子,胜利的标志,和工人,用户可以通过键盘上的"上"."下"."左"."右 ...

  8. [源码和文档分享]基于Java Swing JFream 组件的趣味推箱子小游戏

    一 需求分析 设计一个经典的推箱子小游戏,在窗体里有墙,箱子,胜利的标志,和工人,用户可以通过键盘上的"上"."下"."左"."右 ...

  9. html+javascript实现的网页版飞机大战小游戏源码

    html+javascript实现的网页版飞机大战小游戏源码 完整代码下载地址: html+javascript实现的网页版飞机大战小游戏源码 index.html <!DOCTYPE html ...

最新文章

  1. Cisco交换机与路由器的密码恢复_路由交换
  2. 3个CCIE对一个工程师的面试题(远去之路无比艰辛啊!)
  3. 微型计算机原理及应用李干林,微机原理及接口技术李干林习题参考解答-20210415154329.docx-原创力文档...
  4. 【物联网】 ESP8266 Ubuntu开发环境的搭建
  5. 人工合成维生素E和天然维生素E的区别
  6. 【转载】关于HttpClient 接口方法总结
  7. oracle 在线表分析报告,Oracle Statspack分析报告详解(一)
  8. B-TREE、B+TREE、数据库索引
  9. LeetCode 646. Maximum Length of Pair Chain
  10. 魔兽世界客户端数据研究(四):M2文件头分析
  11. php 获取变量指针_PHP 底层的运行机制与原理
  12. java 重启线程_java-如何重新启动线程
  13. classpath是什么
  14. pypy mysql 兼容_PyPy运行Django+MySQL简单教程
  15. 基于深度学习的图像修复—心中无码
  16. 关于A6s上的无法动态修改maxLength的问题
  17. pip安装及matplotlib安装
  18. 小伙失恋服毒后又反悔 自作聪明喝洗衣粉洗胃
  19. Waymo SOTA!SparseKD:高效知识蒸馏下的3D检测(港大NIPS2022)
  20. 网页设计 实现读书信息反馈表 适合小白入门 安排

热门文章

  1. Three.js光源梳理3——平行光(DirectionalLight)
  2. 高清电影播放机选购知识——附30余款播放机资料(1)
  3. 3 步完全掌握 LoRaWAN Server,让你拥有自己的物联网
  4. Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)
  5. Cardboard的学习(二)Cardboard的下载与导入
  6. Cardboard Talk01 HeadTracker
  7. Windows系统查看设备序列号及硬盘序列号
  8. C#实现调用打印机(打印字符串、打印绘图、打印图片),还差打印水晶报表
  9. python怎么读取石墨表格_石墨这种多人文档编辑协作如何用开源软件实现?
  10. 2020全国普通高校大学生竞赛排行榜出炉!