| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8097 人关注过本帖, 6 人收藏
标题:数字16拼图游戏完成版--带通关演示功能
只看楼主 加入收藏
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
结帖率:100%
收藏(6)
 问题点数:0 回复次数:24 
数字16拼图游戏完成版--带通关演示功能
花了点时间做了个完整版,在原代码基础上做了较大的改动,比如不再用二维数组来表示地图数据,取而代之的是一个64位无符号整数。改进了游戏界面,游戏功能得到完善,如增加重玩、通关演示功能,如果游戏者在玩的过程中过不了关,可以看通关演示,电脑将会在推荐的步数里完成游戏。希望本游戏能让各位在枯燥的码代码时带来一丝休闲!
效果图:
图片附件: 游客没有浏览图片的权限,请 登录注册



[此贴子已经被作者于2018-6-2 22:23编辑过]

搜索更多相关主题的帖子: 数字 拼图 游戏 -- 演示 
2017-06-06 20:19
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
~~感觉很多东西可以学习~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-06-07 07:53
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
其实这拼图实质是连通图求起点到终点问题~不过分支太多~普通搜索方法迅速求解的可能性不大~虽然完整的A*算法一时理解信息量较大~不过似乎还有一种方法可以得到一个可行解(并不一定是最优解)~

记得有种算法叫"遗传算法"~可以用启发式搜索~~
当然这里需要一个目标价值判断函数~匹配越接近解的价值量越大~

如果不去深入讨论数学逻辑~则可以用随机和突变的启发式搜索~用随机搜索的优势在于可以减少目标函数的复杂性~虽然这样得出的解可能会更加偏离于最优解~先随机搜索N次~保留较接近的~或者选取前几个较有价值的加入"堆"里面~这样增加算法的稳定性降低陷入局部"早熟"的风险~忽略那些价值较低的搜索~这……大概可以理解成一种不完全的贪心算法吧~记得人工智能棋类方面是通过目标价值判断搜索N层然后找到一个较优解~这~相当于是一种简单的人工智能算法吧~~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-06-07 16:10
FBLrainbow
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-6-7
收藏
得分:0 
6的飞起
2017-06-07 16:12
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
终于明白过关演示是怎么来了~
原来是在初始化的时候已经记录好路线了~在演示的时候调用那预先记录的路线就可以了~
如果是3*3的话感觉可以用随机搜索摸出答案~不过需要些时间……~~~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-06-07 19:50
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:0 
这个去产生随机题目再搞深度或广度搜索求解确实犯不着。直接在答案的基础上随机移动,只要移动次数够多,就形成题目了,也能保证题目是有解的。
2017-06-07 21:50
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
自己玩了一次~第一次成功步数是一千二百多步~所以感觉单纯用随机搜索实现还是不太现实的~还是要用遗传算法思想保留较优的求解才行~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-06-08 00:00
a1285990168
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-6-8
收藏
得分:0 
有点看不懂,全是英文。我是一个新手。
2017-06-08 21:45
影子球
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2017-5-28
收藏
得分:0 
请问大家一般都用什么来编程啊?我大一新生开始学习编程,老师推荐用VC6++,但是win10不支持,然后自己一直就用的DevC++,就想知道一般要编写一个能在应用商店上架的应用应该用什么来写程序啊?
2017-06-09 00:50
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
收藏
得分:0 
回复 7楼 九转星河
一千多步?这也太差了吧,我很少有超过一百步的。
这个游戏的地图有200多万亿个组合,是数字16的全排列,想用ai让计算机实现自动完成最短步数,估计也要用那个阿法狗的神经网络算法,我做不到
感谢版主大大加精!

[此贴子已经被作者于2017-6-9 20:06编辑过]

2017-06-09 20:05
快速回复:数字16拼图游戏完成版--带通关演示功能
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024618 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved