最近也不知道咋回事,就老想整个小玩意儿自己捣鼓捣鼓。打开应用商店瞅瞅,不是广告满天飞,就是要你充钱,要么就是复杂得跟考研似的,玩个游戏比上班还累,真是没劲透了。我就寻思,干脆自己动手,丰衣足食,弄个清爽点的,自己跟自己玩,不也挺
脑子里过了一圈,想来想去,还是那种老式的五子连珠比较对我的胃口。就是那种在一个格子里,挪动彩色小球,五个颜色一样的连成一条线就“咻”一下消掉的。规则简单,不用联网,不用跟人比来比去,纯粹就是打发时间,活动活动手指头。
说干就干,动手开整
我这人就这样,一有想法就憋不住。第一步,得有个棋盘。 我琢磨着,太大了眼晕,太小了没几下就满了,就先弄了个9乘9的格子。在电脑上画线,一开始还用鼠标比划,歪歪扭扭的,后来学聪明了,直接用代码画,横平竖直,看着舒服多了。
然后就是小球了。 这个简单,红黄蓝绿紫,整几个鲜艳的颜色,随机在棋盘的空格子里冒出来。一开始没想周全,有时候棋盘都快满了,它还一个劲儿地出球,直接就卡死了,后来加了个判断,格子不够了就先暂停出球。
最折腾人的是小球的移动。 点一下小球,它得知道被选中了,再点一个空格子,它得能过去。关键是中间不能有别的球挡着路。我这脑子,一开始想得简单,就寻思着横着竖着能走就行。结果?写出来的代码,小球跟无头苍蝇似的,要么点不动,要么一动就飞出棋盘外了,要么就是直接穿墙,给我气的!
- 反复试,反复改,判断起点,判断终点,判断路径。
- 那几天,我做梦都是小球在棋盘上乱窜。
- 后来总算是整明白了,得用个啥算法,就那种找最短路径的,虽然我这用得挺糙,但好歹能让小球乖乖听话了。
球能动了,下一步就是消除。 这也挺费神的。每次一个小球落稳当了,就得从它那个位置开始,横着、竖着、还有两条斜着的,四个方向都得检查一遍。看看有没有五个颜色一样的连在一起。一开始老是数错,要么四个就消了,要么六个了它还没反应。还得注意边界,别数到棋盘外面去了。
为了这个消除,我写了一堆的判断,写得头昏脑涨。有时候明明看着连上了,它就是不消,我得瞪大眼睛,一步步看代码,看到底是哪个环节出了岔子。找到问题那一瞬间,真是长出一口气。
初步成型,自娱自乐
加点计分。 消一组给个十分二十分的,不然白玩了嘛没成就感。啥时候游戏结束?棋盘满了,没地方下新球,也挪不动了,那就Game Over呗,弹个提示,问你要不要再来一局。
前前后后,利用一些零碎时间,大概折腾了一个多礼拜。界面挺简陋的,也没啥酷炫的动画,就是最基本的功能。代码估计也写得乱七八糟,要是让专业的程序员看,估计得笑掉大牙。
但是,当我自己点着鼠标,看着小球乖乖地移动、消除,分数一点点往上涨的时候,心里头还真是挺得劲的。这玩意儿,虽然简单,但毕竟是自己一个格子一个格子画出来,一个逻辑一个逻辑码出来的。玩起来的感觉,跟玩别人做好的游戏,那完全不一样。
有时候运气不一上来就给堵得死死的,一步都动不了,也挺让人抓狂。但 همین就是乐趣嘛自己做的“坑”,含着泪也得跳下去再爬起来。现在闲着没事就打开玩两把,不为别的,就图个自己动手的乐呵。