atitit.html5 拼图游戏的解决之道.
atitit.html5 拼图游戏的解决之道.
1. 拼图游戏的操作(点击法and 拖动法)
1. 支持键盘上、下、左、右键移动;
2. 支持点击空白模块中的上下左右箭头移动;
3. 支持点击空白模块的临近模块移动。
4. 还是点击法好,兼容性好...手机and电脑
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
2. 注释:无解的问题(逆序和判别法)
5. 3*3的大概50%无解
6. Grid 旋转的问题..
transform: rotate(40deg)
7. 要应用测试成功的api
Biers yao pin yva time tsainen syaod ok le ..
8. 测试图片数字化,为轻松的测试..
3. 能使用的
HTML5网页拼图游戏代码,支持FF_Chrome和IE9 下载 - 烈火网下载频道.htm
JavaScript版网页拼图游戏,由于本游戏基于HTML5技术,因此仅支持FireFox4.0[及以上版本] ,Chrome11[及以上版本]、和IE9以上版本。
游戏解说:请将拼图游戏中的图片碎片拼接成右侧预览中的模样即获胜。支持键盘上、下、左、右键移动;支持点击空白模块中的上下左右箭头移动;支持点击空白模块的临近模块移动。
4. 拼图游戏实现方式
9. 背景图片offset 方式..
Liehuo的走十这个,,,轻松的..
10. HTML5 Canvas API实现拼图游戏
· 标签:拼图游戏 时间:2014-01-27 已阅读:689
· HTML5结合使用Canvas API、文件API与拖放API制作拼图游戏,HTML 5开发精要与实例详解一书的配套示例,请在支持HTML5的浏览器中使用,比如Chrome或火狐以及Opera等浏览器都可以,IE8不行哦。本拼图游 戏在运行时,需要用户指定一张图片,游戏会自动打散图片。主要是练习Canvas属性的用法。
11. Canvas 与 SVG 的比较
下表列出了 canvas 与 SVG 之间的一些不同之处。
Canvas
· 依赖分辨率
· 不支持事件处理器
· 弱的文本渲染能力
· 能够以 .png 或 .jpg 格式保存结果图像
· 最适合图像密集型的游戏,其中的许多对象会被频繁重绘
SVG
· 不依赖分辨率
· 支持事件处理器
· 最适合带有大型渲染区域的应用程序(比如谷歌地图)
· 复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)
· 不适合游戏应用
5. 两个图AB错位
当两个图AB错位, 先利用空格在两个图中间插入一个图C, 然后再让ABC与他们上面或下面的EFG6个图旋转, 当顺序矫正后抽出C 会发现C EFG在动下就能找回原位 而AB已经矫正了位置。
当ABCDEF整行错位 变成了FABCDE 把F拖下来到A的下面 变成ABCDEX【A下面是F】 然后把F转到X下面
在把ABCDEx整行向左拖1个格 于是F就到了X的右边 即BCDEXF【A在B下面】
把X抽出 ABCDE拖回去 就矫正回来了
6. 逆序和判别法
* 虽然已学会了移动的技巧,但稍有经验的人都知道,如果採用随机花式的玩法,将会有一半的机率出现无解的情形,花费了一番工夫之后才发现无解时,那种滋味可 真不好受。如果採用的是转换指定花式的玩法,尤其是有人出题互考时,最后才发现被以无解的情形来戏弄了,不也有点不甘心?所以如果学会了是否有解的判定法 之后,在移动前就判定了是否有解,不是反可让那些想戏弄我们的人被唬得一愣一愣的吗?
* 要判别指定的随机花式是否有解,逆序和判别法是较易于上手的方法。
* 本法判别的步骤如下:
1. 第一步:空格归位。
可以用任意的移动方式把空格移到右下角。以图 1 和图 2 的随机花式为例,图 11 和图 12 分别採用了不 同的归位方式。
8 4 7 9 12 13 10 3 5 15 1 11 6 14 2 ===> 9 8 4 7 3 12 13 10 11 5 15 1 6 14 2 ( 图 11 ) 以先下移后右移的方式将空格归位。
8 2 1 13 10 4 5 14 7 9 11 3 12 15 6 ===> 8 2 1 13 10 4 5 14 7 9 11 6 3 12 15 ( 图 12 ) 以先右移后下移的方式将空格归位。
2. 第二步:点数逆序的个数,并求其和。
把数字盘中的数字当成一个数列,其顺序为由左而右、由上而下,以图 11 右边的归位花式而言, 可看成是下面的数列
9, 8, 4, 7, 3, 12, 13, 10, 11, 5, 15, 1, 6, 14, 2
什麽是逆序呢? 当数列中较小的数字位置在较大数字的后方时,就是逆序。
以上面的数列为例,
数字 9 共有 8 个逆序,因为 1, 2, 3, 4, 5, 6, 7, 8 都在它的后方,
数字 8 共有 7 个逆序,因为 1, 2, 3, 4, 5, 6, 7 都在它的后方,
数字 4 共有 3 个逆序,因为 1, 2, 3 都在它的后方,
数字 7 共有 5 个逆序,因为 1, 2, 3, 5, 6 都在它的后方,
数字 3 共有 2 个逆序,因为 1, 2 都在它的后方,
数字 12 共有 6 个逆序,因为 1, 2, 5, 6, 10, 11 都在它的后方,
数字 13 共有 6 个逆序,因为 1, 2 5, 6, 10, 11 都在它的后方,
数字 10 共有 4 个逆序,因为 1, 2 5, 6 都在它的后方,
数字 11 共有 4 个逆序,因为 1, 2 5, 6 都在它的后方,
数字 5 共有 2 个逆序,因为 1, 2 都在它的后方,
数字 15 共有 4 个逆序,因为 1, 2, 6, 14 都在它的后方,
数字 1 共有 0 个逆序,因为它就是最小的数了,
数字 6 共有 1 个逆序,因为只有 2 在它的后方,
数字 14 也只有 1 个逆序,就是 2,
数字 2 已是数列中的最后一个数字了,当然没有逆序。
所以逆序和就是 8 + 7 + 3 + 5 + 2 + 6 + 6 + 4 + 4 + 2 + 4 + 0 + 1 + 1 = 53
3. 第三步:判定。逆序和为偶是有解,为奇则无解。
由于图 5 的逆序和为 53,所以图 11 的随机花式无解。
请读者自行计算试试,图 12 的归位花式其逆序和为 38,所以图 12 的随机花式有解。
想到了吗?在第二步计算逆序和时,其实可以偷一下懒,只注意和是奇偶就好, 不必老老实实的加总,那很累的!(看不懂?没关係!当做尤怪我没说就好了)
* 因为我们的目的花式(顺序花式)逆序和为 0 是偶数,所以所有有解的花式也一定是偶数逆序和。
如果我们的目的花式(例如逆序花式)逆序和是奇数,则所有有解的花式也一定是奇数的逆序和。
7. 轮换判别法
* 要判别指定的随机花式是否有解,逆序和判别法虽然较易于上手,但是点数起来有点麻烦不是吗? 如果你有同感,那试试轮换判别法吧!
* 本法判别的步骤如下:
1. 第一步:空格归位。同逆序和判别法之操作。
2. 第二步:写出轮换的连乘积。
同样的把数字盘中的数字看成是一个由左而右、由上而下的数列,以图 11 右边的归位花式而言, 可看成是下面的数列
9, 8, 4, 7, 3, 12, 13, 10, 11, 5, 15, 1, 6, 14, 2
由数字 1 开始检验,如果它的位置和数值不符,就要开始以下製作轮换的过程:
这个轮换的第一个数字是数值 1,它的位置跑到位置 12 去了,记成 (1, 12
位置 12 应该是数值 12,但它却跑到位置 6 去了,记成 (1, 12, 6
位置 6 应该是数值 6,但它却跑到位置 13 去了,记成 (1, 12, 6, 13
位置 13 应该是数值 13,但它却跑到位置 7 去了,记成 (1, 12, 6, 13, 7
位置 7 应该是数值 7,但它却跑到位置 4 去了,记成 (1, 12, 6, 13, 7, 4
位置 4 应该是数值 4,但它却跑到位置 3 去了,记成 (1, 12, 6, 13, 7, 4, 3
位置 3 应该是数值 3,但它却跑到位置 5 去了,记成 (1, 12, 6, 13, 7, 4, 3, 5
位置 5 应该是数值 5,但它却跑到位置 10 去了,记成 (1, 12, 6, 13, 7, 4, 3, 5, 10
位置 10 应该是数值 10,但它却跑到位置 8 去了,记成 (1, 12, 6, 13, 7, 4, 3, 5, 10, 8
位置 8 应该是数值 8,但它却跑到位置 2 去了,记成 (1, 12, 6, 13, 7, 4, 3, 5, 10, 8, 2
位置 2 应该是数值 2,但它却跑到位置 15 去了,记成 (1, 12, 6, 13, 7, 4, 3, 5, 10, 8, 2, 15
位置 15 应该是数值 15,但它却跑到位置 11 去了,记成 (1, 12, 6, 13, 7, 4, 3, 5, 10, 8, 2, 15, 11
位置 11 应该是数值 11,但它却跑到位置 9 去了,记成 (1, 12, 6, 13, 7, 4, 3, 5, 10, 8, 2, 15, 11, 9
位置 9 应该是数值 9,但它却跑到位置 1 去了,但因为这个轮换的起始数就是 1,所以轮换结束,记成 (1, 12, 6, 13, 7, 4, 3, 5, 10, 8, 2, 15, 11, 9)
不包括在这个轮换的数值只剩下 14,而它恰好也在位置 14,所以不必製作另一个轮换。图 11 的归位花式轮换积就是 (1, 12, 6, 13, 7, 4, 3, 5, 10, 8, 2, 15, 11, 9) 了。
3. 第三步:判定轮换积是偶排列或奇排列。
把每一个轮换的元素个素减 1后相加,其和就姑且称之为长度吧!长度为偶数的轮换积叫做偶排列,长度 为奇数的轮换积就叫做奇排列。
(1, 12, 6, 13, 7, 4, 3, 5, 10, 8, 2, 15, 11, 9) 只有一个轮换且元素个数为 14,所以长度为 13, 是奇排列。
4. 第四步:判定。若为偶排列则有解,为奇排列则无解。
由于图 11 对应的轮换积是奇排列,所以图 11 的随机花式无解。
请读者自行试试,图 12 对应的轮换积为 (1, 3, 13, 4, 6, 12, 14, 8)(5, 7, 9, 10), 所以长度为 ( 8 - 1)+ ( 4 - 1 ) = 10 是偶排列,所以有解。
* 因为我们的目的花式(顺序花式)是偶排列,所以所有有解的花式也一定是偶排列。
如果我们的目的花式(例如逆序花式)是奇排列,则所有有解的花式也一定是奇排列。
3*3 16 25 grid的困难户比较.
* 以上的示范及讨论都是用一般的 4 * 4 盘面,如果改换成 n * m 的盘面时,是否也可以依样画葫芦呢? 是的,以上的方法及结论全部适用。
* 那麽市售的实体数字盘或一般的玩法为什麽大都是採用4*4 的盘面呢?除了实体数字盘要做到任意改变大小 实在非常困难外,另一个原因就是 3 * 3 的盘面只有数字 1 的归位是简单的,其他的每一个数字要归位都 要大费思量,而 5 * 5 以上的盘面,有一半以上的数字都毫无挑战性,最右两行及最下两列虽然是比较有困难度的,但是能解决两个,就表示已掌握了移动的技巧了,再多的类似情况也可 顺利过关,所以并无意义。 4*4 的盘面难易度因此最为适中,所以大家就习以为常了
8. Jeig bnen use
现在HTML5大热,但看了很多介绍,都是重点介绍CANVAS而相对忽略了SVG,我个人感觉这两个技术结合,优势互补,利用SVG的交互性和CANSVAS的绘图能力,才能更好地发挥各自的作用。
以前用纯SVG做到一个拼图的DEMO,现在改为SVG和CANVAS,花了一个星期的时间,重写了这个例子,在CHROME17和FF12中进行了测试。比纯SVG速度快。
一直看好SVG,但由于种种原因,包括浏览器是否支持等等,没有得到广泛的应用。在HTML5的框架内,SVG能够发挥自己应有的威力了吧
Jeig bsin \
HTML5拼图游戏代码 - 下载频道 - CSDN.NET.htm
9. 参考
16格智力拼图技巧_馨阳楼_百度空间.htm
智力拼图技巧_馨阳楼_百度空间.htm
九宫数独基本技巧--摒除法_馨阳楼_百度空间.htm
atitit.html5 拼图游戏的解决之道.的更多相关文章
- HTML5 拼图游戏
点击之后被选中的切片会变为透明 源代码 点击打开链接
- atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 。打开浏览服务器文件夹java .net php
atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 .打开浏览服务器文件夹java .net php 1. 环境:::项目java web,需要打开浏览服 ...
- Atitit.提升稳定性-----分析内存泄漏PermGen OOM跟解决之道...java
Atitit.提升稳定性-----分析内存泄漏PermGen OOM跟解决之道...java 1. 内存区域的划分 1 2. PermGen内存溢出深入分析 1 3. PermGen OOM原因总结 ...
- Atitit.软件GUIbutton与仪表盘--db数据库区--导入mysql sql错误的解决之道
Atitit.软件GUIbutton与仪表盘--db数据库区--导入mysql sql错误的解决之道 Keyword::截取文本文件后部分 查看提示max_allowed_packet限制 Targe ...
- 速度挑战 - 2小时完成HTML5拼图小游戏
概述 我用lufylegend.js开发了第一个HTML5小游戏——拼图游戏,还写了篇博文来炫耀一下:HTML5小游戏<智力大拼图>发布,挑战你的思维风暴. 详细 代码下载:http:// ...
- Atitit.软件GUI按钮与仪表盘--db数据库区--导入mysql sql错误的解决之道
Atitit.软件GUI按钮与仪表盘--db数据库区--导入mysql sql错误的解决之道 Keyword::截取文本文件后部分 查看提示max_allowed_packet限制 Target Se ...
- 打造专属自己的html5拼图小游戏
最近公司刚好有个活动是要做一版 html5的拼图小游戏,于是自己心血来潮,自己先实现了一把,也算是尝尝鲜了.下面就把大体的思路介绍一下,希望大家都可以做出一款属于自己的拼图小游戏,必须是更炫酷,更好玩 ...
- 妙啊!纯 CSS 实现拼图游戏
本文,将向大家介绍一种将多个 CSS 技巧运用到极致的技巧,利用纯 CSS 实现拼图游戏. 本技巧源自于 Temani Afif 的 CodePen CSS Only Puzzle game.一款完全 ...
- 25 个超棒的 HTML5 & JavaScript 游戏引擎开发库
就像在汽车中,引擎完成主要的工作,使汽车看起来不可思议.游戏引擎同理,游戏开发者完成细节的工作,使游戏看起来真实.吸引人眼球.游戏引擎负责其余的事情.早期,游戏开发者通常从草图做起,花费高昂,且不容易 ...
随机推荐
- C语课设心得分享(三)
调试. 以前咱们写课后习题,一般也不需要使用调试,如果程序编译error,根据错误信息就可以改好:如果是结果错误,那么在稿纸上过几遍基本也可以得出结果. 但咱们这个课设比较大,就需要很多调试的过程,尤 ...
- wpf 旋转效果
<Grid> <Grid.Triggers> <EventTrigger RoutedEvent="Page.Loaded"> <Begi ...
- Nodejs编码转化问题
目前Node.js仅支持hex.utf8.ascii.binary.base64.ucs2几种编码的转换.对于GBK,GB2312等编码,Nodejs自带的toString()方法不支持,因此中文转化 ...
- Python学习第八天(os)
os主要是实现文件夹的创建和管理功能 os.mkdir(path) 创建目录 os.chdir(path)改变当前工作目录 os.fchdir() 通过文件描述符改变工作目录 os.chroot() ...
- Response、Request、QueryString,repeater添加,修改,删除数据
内置对象: Response对象:响应请求,Response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应.Response.Write("<script>a ...
- Spring MVC学习初篇
Spring mvc 使用配置: <!-- 使用MVC --> <servlet> <servlet-name>defaultDispatcher</serv ...
- WinForm动态添加控件及其事件(转)
出处:http://blog.sina.com.cn/s/blog_60d576800100tf61.html 1 private void PhotoForm_Load(object ...
- C语言误区
int date[10] ; //定义一个字长10的数组,从date[0]....date[9] static char c ; //静态变量(有静态外部变量和静态局部变量),静态外部变量 ...
- Postman-简单使用
Postman-简单使用 Postman-进阶使用 Postman-CI集成Jenkins Postman功能(https://www.getpostman.com/features) 主要用于模拟网 ...
- Delphi 的字符及字符串[6] - Char(AnsiChar)、WideChar 与其编码的相互转换
); ); {返回: A } c := Char($41); {返回: A }end; ]; ); ); {万} c := WideChar($4E07); {万}end ...