致佳音: 推箱子游戏自己主动求解算法设计(一)
2016-04-17 08:38
274 查看
本来酷爱音乐, 老衲也想谱一曲<献给爱丽丝>之类, 通俗又有境地的曲子, 奈何没有那个水平, 也不是一个程序猿做的勾当,于是就有了本文.
希望莲花妹妹跟着思路走,能遗忘那些太多的忧伤……
本文分下面四个小节:
一、平面寻路算法(Alpha Star)
二、闭合图形填充算法(扫描线种子填充)
三、推箱子求解
四、运行效率的优化
日本人有个程序叫Sokuban Automatic Solver,文件名称是sokoban722.exe我附带在资源里面
只是日本人的东西没有开源。我们也不知道它里面的花花肠子是什么,同一时候网上我看到也有人写这种程序。只是我没有參考
仅仅是闭门造车,原创作品献给莲花妹妹吧,刚入门学编程,或者学了编程想进一阶的施主能够观摩一下。高手请转身再笑……
如今就先弄几张图片来作序吧,我不是作家。不知道真正的作序是什么样的,只是我猜看文章的人看不到图片是看不下去的
所以……
先是设计箱子图片,找不到好看的箱子素材,就随便找一张差点儿相同的处理一下了:
側面的水印比較少,我就截取側面了。而后扭曲调整到正面图效果(PS也有简单的空间图形处理能力的)
调整水印背景亮度。消除水印背景
抹掉文字
以32x32为单位创建11列的新图像(为什么是11列,我们在算法部分再说)
缩放到单元大小,调整下亮度对照度,让它看起来更鲜艳一些
然后是边界格子,我懒得搞什么金属质感之类的那么复杂,就随便搞个有点立体感的格子,直接斜面和浮雕完毕
还有目标。用一个小圆圈标识,以空白格子为背景,画一个正圆图形。以此路径建立选区
羽化描边,就可以得到小圈圈了。我画个小圈圈,不诅咒不论什么人
然后是箱子归位(箱子和目标重叠)的图形,我直接去色,加深。强化一点点红……
效果
然后是搬运工和搬运工归位。我直接用笑脸和笑到脸红,牙齿东倒西歪的笑脸
限于篇幅,就到资源里看详情吧(不是卖关子。老衲……)
执行效果图
希望莲花妹妹跟着思路走,能遗忘那些太多的忧伤……
本文分下面四个小节:
一、平面寻路算法(Alpha Star)
二、闭合图形填充算法(扫描线种子填充)
三、推箱子求解
四、运行效率的优化
日本人有个程序叫Sokuban Automatic Solver,文件名称是sokoban722.exe我附带在资源里面
只是日本人的东西没有开源。我们也不知道它里面的花花肠子是什么,同一时候网上我看到也有人写这种程序。只是我没有參考
仅仅是闭门造车,原创作品献给莲花妹妹吧,刚入门学编程,或者学了编程想进一阶的施主能够观摩一下。高手请转身再笑……
如今就先弄几张图片来作序吧,我不是作家。不知道真正的作序是什么样的,只是我猜看文章的人看不到图片是看不下去的
所以……
先是设计箱子图片,找不到好看的箱子素材,就随便找一张差点儿相同的处理一下了:
側面的水印比較少,我就截取側面了。而后扭曲调整到正面图效果(PS也有简单的空间图形处理能力的)
调整水印背景亮度。消除水印背景
抹掉文字
以32x32为单位创建11列的新图像(为什么是11列,我们在算法部分再说)
缩放到单元大小,调整下亮度对照度,让它看起来更鲜艳一些
然后是边界格子,我懒得搞什么金属质感之类的那么复杂,就随便搞个有点立体感的格子,直接斜面和浮雕完毕
还有目标。用一个小圆圈标识,以空白格子为背景,画一个正圆图形。以此路径建立选区
羽化描边,就可以得到小圈圈了。我画个小圈圈,不诅咒不论什么人
然后是箱子归位(箱子和目标重叠)的图形,我直接去色,加深。强化一点点红……
效果
然后是搬运工和搬运工归位。我直接用笑脸和笑到脸红,牙齿东倒西歪的笑脸
限于篇幅,就到资源里看详情吧(不是卖关子。老衲……)
执行效果图
相关文章推荐
- 想学微信的界面设计,来看看WeUI的暴力美学
- 第七周学习进度条
- 析构函数真是个好东西
- 【GMT】GMT的第一步:virtualbox4.3.12+ubuntu14.04.1+gmt5.2.1
- sqlite入门基础(一):sqlite3_open,sqlite3_exec,slite3_close
- 明光桥南 || 明光桥北
- [8] Word 合并审阅和批注
- NYOJ-51 管闲事的小明
- HDU 5665 Lucky
- java基础(2)
- [7] Word 定制属于自己的表格样式
- 你的公众号为什么总是留不住粉丝
- 安装Cocoapods, 更新gem出现的问题
- HDU 5666 Segment
- 技术
- 技术
- MSMQ与redis队列
- GitHub 第一坑:换行符自动转换
- 获取文件的长度
- 从头认识多线程-1.9 迫使线程停止的方法-return法