致佳音: 推箱子游戏自己主动求解算法设计(一)

简介:

本来酷爱音乐, 老衲也想谱一曲<献给爱丽丝>之类, 通俗又有境地的曲子, 奈何没有那个水平, 也不是一个程序猿做的勾当,于是就有了本文.

希望莲花妹妹跟着思路走,能遗忘那些太多的忧伤……


本文分下面四个小节:

一、平面寻路算法(Alpha Star)

二、闭合图形填充算法(扫描线种子填充)

三、推箱子求解

四、运行效率的优化


日本人有个程序叫Sokuban Automatic Solver,文件名称是sokoban722.exe我附带在资源里面

只是日本人的东西没有开源。我们也不知道它里面的花花肠子是什么,同一时候网上我看到也有人写这种程序。只是我没有參考

仅仅是闭门造车,原创作品献给莲花妹妹吧,刚入门学编程,或者学了编程想进一阶的施主能够观摩一下。高手请转身再笑……


如今就先弄几张图片来作序吧,我不是作家。不知道真正的作序是什么样的,只是我猜看文章的人看不到图片是看不下去的

所以……


先是设计箱子图片,找不到好看的箱子素材,就随便找一张差点儿相同的处理一下了:

側面的水印比較少,我就截取側面了。而后扭曲调整到正面图效果(PS也有简单的空间图形处理能力的)

调整水印背景亮度。消除水印背景

抹掉文字

以32x32为单位创建11列的新图像(为什么是11列,我们在算法部分再说)

缩放到单元大小,调整下亮度对照度,让它看起来更鲜艳一些


然后是边界格子,我懒得搞什么金属质感之类的那么复杂,就随便搞个有点立体感的格子,直接斜面和浮雕完毕

还有目标。用一个小圆圈标识,以空白格子为背景,画一个正圆图形。以此路径建立选区

羽化描边,就可以得到小圈圈了。我画个小圈圈,不诅咒不论什么人

然后是箱子归位(箱子和目标重叠)的图形,我直接去色,加深。强化一点点红……

效果


然后是搬运工和搬运工归位。我直接用笑脸和笑到脸红,牙齿东倒西歪的笑脸

限于篇幅,就到资源里看详情吧(不是卖关子。老衲……)


执行效果图







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

相关文章
|
2月前
|
人工智能 算法 Java
【搜索算法】数字游戏(C/C++)
【搜索算法】数字游戏(C/C++)
|
4月前
|
人工智能 算法 Java
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
51 1
|
4月前
|
算法
互动游戏解决遇到问题之基于射线投射寻路算法的问题如何解决
互动游戏解决遇到问题之基于射线投射寻路算法的问题如何解决
|
4月前
|
算法 Python
【python】python基于 Q-learning 算法的迷宫游戏(源码+论文)【独一无二】
【python】python基于 Q-learning 算法的迷宫游戏(源码+论文)【独一无二】
|
6月前
|
算法 数据挖掘 开发者
LeetCode题目55:跳跃游戏【python5种算法贪心/回溯/动态规划/优化贪心/索引哈希映射 详解】
LeetCode题目55:跳跃游戏【python5种算法贪心/回溯/动态规划/优化贪心/索引哈希映射 详解】
|
6月前
|
算法 JavaScript 前端开发
【经典算法】LCR187:破冰游戏(约瑟夫问题,Java/C/Python3/JavaScript实现含注释说明,Easy)
【经典算法】LCR187:破冰游戏(约瑟夫问题,Java/C/Python3/JavaScript实现含注释说明,Easy)
82 1
|
6月前
|
算法
【经典LeetCode算法题目专栏分类】【第9期】深度优先搜索DFS与并查集:括号生成、岛屿问题、扫雷游戏
【经典LeetCode算法题目专栏分类】【第9期】深度优先搜索DFS与并查集:括号生成、岛屿问题、扫雷游戏
|
6月前
|
算法 机器人
【经典LeetCode算法题目专栏分类】【第5期】贪心算法:分发饼干、跳跃游戏、模拟行走机器人
【经典LeetCode算法题目专栏分类】【第5期】贪心算法:分发饼干、跳跃游戏、模拟行走机器人
|
6月前
|
SQL 算法 数据可视化
python 贪心算法 动态规划实现 跳跃游戏ll【力扣题45】
python 贪心算法 动态规划实现 跳跃游戏ll【力扣题45】
|
7月前
|
存储 算法 PHP
开发一款扑克游戏,请给出一套洗牌算法,公平的洗牌并将洗好的牌存储在一个整形数组里?
开发一款扑克游戏,请给出一套洗牌算法,公平的洗牌并将洗好的牌存储在一个整形数组里?
43 1
开发一款扑克游戏,请给出一套洗牌算法,公平的洗牌并将洗好的牌存储在一个整形数组里?
下一篇
无影云桌面