JavaScript版拼图小游戏

简介:

慕课网上准备开个新的jQuery教程,花了3天空闲时间写了一个Javascript版的拼图小游戏,作为新教程配套的分析案例

拼图游戏网上有不少的实现案例了,但是此源码是我自己的实现,所以不做太多的比较

在线预览(Chrome):http://sandbox.runjs.cn/show/pcwfu7i5

 

拼图游戏其实挺简单,主要是涉及到一些细节的处理,以下是我的自己在实现中涉及到的问题:

  1. 图片的切割与拼接
  2. 如何随机布局
  3. 如何切换图片
  4. 拖动图片溢出处理
  5. 怎么知道图片是否还原成功

 

实现思路:

为了简单,我只做了3组选择,3*3 , 6*6 , 9*9 当然你要设4*4都是可以了,维持这个思路与算法就OK了

在一个容器中,我们把布局按照3*3切割,可以把这个看做一个二维矩阵

row = 3   //3行
col = 3  //3列

二维矩阵会形成一张九宫格的图,如下:

 

初始化:3*3的矩阵图

0 1 2
3 4 5
6 7 8

给每一个碎片图排一个序,3*3 = 9个

页面上的每一次碎片图的变化,其实完全可以映射成内存中对应的originalOrder这个数组的变化

此时碎片图的真实排序就是 originalOrder= [ 0,1,2,3,4,5,6,7,8,9 ]

 

移动结束:新3*3矩阵图

8 4 2
3 1 7
6 5 0

新的映射表 randomOrder = [ 8,4,2,3,1,7,6,5,0 ]

每一次变化后,计算下原始的矩阵排序与变化后的矩阵排序是否一致

originalOrder == randomOrder  判断是否还原成功

 

具体的细节实现可以直接参考源码

附上我的git下载地址: https://github.com/JsAaron/puzzleGame

如果需要更详细的教程,可以之后关注下慕课上的新课程~~


本文转自艾伦 Aaron博客园博客,原文链接:http://www.cnblogs.com/aaronjs/p/4585600.html,如需转载请自行联系原作者

相关文章
|
29天前
|
JavaScript 前端开发 算法
游戏物理系统 - 介绍一下Box2D或其他物理引擎在JS小游戏中的使用。
Box2D, a popular 2D physics engine, simulates rigid body dynamics, collision detection, and constraints for JavaScript games via WebAssembly. It offers realistic physics, efficient collision handling, and customizable APIs.
17 4
|
3月前
|
JavaScript
用html,js和layui写一个简单的点击打怪小游戏
用html,js和layui写一个简单的点击打怪小游戏
25 0
|
3月前
|
移动开发 JavaScript 前端开发
用Html和js和layui写一个简单猜拳小游戏
用Html和js和layui写一个简单猜拳小游戏
41 0
|
3月前
|
算法 JavaScript Java
html+css+js实现打砖块小游戏
html+css+js实现打砖块小游戏
73 0
|
3月前
|
前端开发 算法 Java
html+css+js实现点球球小游戏
html+css+js实现点球球小游戏
23 0
|
5月前
|
JavaScript 前端开发
初学JS—JavaScript实现像素鸟小游戏
初学JS—JavaScript实现像素鸟小游戏
34 0
|
7月前
|
JavaScript 前端开发
原生JS手写扫雷小游戏
实现一个完整的扫雷游戏需要一些复杂的逻辑和界面交互。我将为你提供一个简化版的扫雷游戏示例,帮助你入门。请注意,这只是一个基本示例,你可以根据自己的需求进行扩展和改进。
39 0
|
8月前
|
机器学习/深度学习 前端开发 JavaScript
猜数字小游戏但多语言版本(C、Java、Golang、python、JavaScript)
猜数字小游戏但多语言版本(C、Java、Golang、python、JavaScript)
|
9月前
|
人工智能 前端开发 JavaScript
原生JavaScript抒写——贪吃蛇小游戏
前端开发的核心逻辑思维,莫过于就是对JavaScript的掌握了,不管是小程序还是主流框架都是在原生JavaScript的基础上延伸和简便,因此原生JavaScript对于前端是必须要掌握和不断学习的,那么好,今天我们就来用原生的JavaScript写一个简单的小游戏——贪吃蛇
82 1
 原生JavaScript抒写——贪吃蛇小游戏
|
11月前
|
缓存 JavaScript 前端开发
纯JavaScript入门级小游戏:兔子抢金币(附演示地址+源码)
Hello,大家好,我是兔哥,我又来分享好玩的入门级项目啦。 今天给大家带来的是一个纯JavaScript入门级小游戏:兔子抢金币,规则非常简单,控制屏幕上的兔子去接天上掉下来的金币,接满20个就可以通关。
110 0