连连看小游戏

昨儿下午突然想搞个小游戏玩玩,没多想直接上手做了个连连看。刚开始觉得挺简单,不就两张一样图片点掉嘛结果真动手才发现全是坑。

乱画界面搞到脑壳疼

打开编辑器先铺格子。琢磨着弄个8×8的棋盘,手指头戳着屏幕画表格,画完又拖进去一堆水果小图标。结果图标们歪七扭八挤作一团,苹果挨着香蕉,葡萄怼着西瓜,看着像菜市场打翻了的摊子。

赶紧打开调整工具:

  • 按住shift把图标尺寸统一改成50×50
  • 给每个格子标上坐标
  • 手动把图标拖到对应位置

折腾半小时总算排整齐,眼睛都快瞅成对眼了。

消除逻辑差点绕昏头

本以为点两张相同图片就能消,结果一测试出大事。隔着三座山的水果全消失了!拍着脑门反应过来:得判断中间有没有路!

翻出草稿纸画路线:

  1. 先检查直线能不能连上
  2. 不行就试一个拐弯的(像直角尺那样)
  3. 再不行试两个拐弯的
最要命的是两个拐弯,代码里三层循环套着查。写着写着把自己绕晕了,喝了半壶浓茶才理清楚。

点击事件整得手忙脚乱

光顾着写消除算法,忘记加操作反馈。第一次点水果毫无反应,跟点了块石头似的。赶紧塞进去点击高亮:

1. 选中第一个水果加黄色边框

2. 再点第二个就启动消除检测

3. 能消就让它们闪两下消失

不能消就清空选择

测试时疯狂戳屏幕,苹果橙子忽闪忽闪跳,看得眼睛都花了。

收尾才发现少了灵魂

游戏跑起来后傻眼了:消完的格子全空着,棋盘跟长了秃斑似的!捶着键盘骂自己蠢,赶紧补上重置功能。每次消除后自动把上方水果往下掉,空出来的位置再补新水果。

塞了个计时器在左上角:

  • 显示五分钟倒计时
  • 消除一对加15秒
  • 时间归零就弹出失败界面

做完发现天都黑了,厨房飘来老婆煮糊的饭味...

折腾下来发现:最花时间的是检查路线的算法,光这块就耗掉三小时。中途想撂挑子不干,但看着那些死活消不掉的水果图标就来气,硬是啃下来了。现在游戏跑得挺顺溜,等会儿让儿子试玩两把——小孩子最能挑毛病。