今天突发奇想,想搞个类似推箱子的那种益智小游戏玩玩。小时候玩过那种老式的掌上游戏机,对推箱子真是又爱又恨,有时候卡关能卡一天!现在自己动手,看看能不能还原一下当年的感觉。
第一步,先找找感觉
我先去网上搜搜,看看现在都有啥推箱子游戏。发现还真不少,各种各样的,什么“推箱快手”、“推箱子大师”之类的,名字起得是一个比一个厉害。不过看来看去,还是那种最经典的玩法最吸引我。
第二步,想想大概咋做
我大概想想,这游戏的核心就是几个元素:
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
然后就是操作,上下左右移动,人推着箱子走,箱子碰到墙就停,推到目标点就算赢。逻辑上应该不复杂,但具体咋实现,还得一步步来。
我先画个草图,把地图给设计一下。就用最简单的字符来表示:
然后,我开始琢磨着怎么读取这个地图。我用一个二维数组来存,这样比较直观,操作起来也方便。接着就是移动的逻辑,每次移动,就是改变人在二维数组里的位置,然后判断一下能不能走,有没有碰到箱子或者墙。
遇到的小麻烦
刚开始做的时候,还真遇到几个小麻烦。比如,怎么判断人能不能推箱子?我想个办法,就是先判断人下一步要走的位置是不是箱子,如果是,再判断箱子的下一个位置能不能走。有点绕,但多写几个判断条件,总算搞定。
还有就是,怎么判断游戏结束?这个我想的是,每次移动后,都检查一下是不是所有的箱子都在目标点上。如果是,那就恭喜过关!
继续完善
基本的功能做完后,我又加点细节。比如,加个简单的界面,可以显示当前地图;加个步数统计,看看自己走多少步;还加个撤销功能,走错可以悔棋,这下舒服多!
今天折腾一天,总算把这个小游戏给弄出来。虽然画面简陋,但玩起来还挺有感觉的。自己动手做游戏,感觉就是不一样,成就感满满!下次有空,再试试做个更复杂的!