瞬息资讯

消灭星星积分版哪个版本好?(热门选择对比评测)

nazhan 11 0

今天跟大家唠唠我做的那个消灭星星小游戏,真没想到加个积分系统能折腾成这样。起因特简单,上周看我儿子玩手机上的消消乐,分数涨起来就嗷嗷叫唤,我就琢磨着这玩意儿要是搞个积分版应该挺有意思。

第一步:画星星

我寻思着得先把星星弄出来。打开电脑就新建了个画布,琢磨着方块星星最好画。咔咔写了段循环,一行行画了十个方块,红的蓝的绿的黄的乱排。这玩意儿看着简单,可一刷新颜色老变,气得我差点拍桌子。才整明白,给每颗星星都塞了个固定颜色值才消停。

第二步:点星星

画完了总得能点?吭哧吭哧写了点击监听。一开始点下去啥反应没有,急得我抓耳挠腮。折腾半天才搞懂问题出在坐标上了,点的是画布左上角坐标,跟星星的位置没对上号!算来算去算得我头晕眼花,干脆在星星对象里存了个区域位置,点下去时候挨个比划:点我身上了没?点了?好嘞,啪一下把自己隐藏了!周围星星得跟着消失?又吭哧写了递归去扒拉挨着的同色星星,弄完感觉自己脑子跟被递归过一样。

第三步:最磨人的积分

星星能炸了,下一步不就是上积分嘛我一开始想得特别美:点一次,分数加个十块二十块呗。结果写着写着发现不对味!

  • 问题一:点一颗算分还是炸一堆算分? 一拍大腿,肯定按炸掉的总数算!炸得多才爽!
  • 问题二:怎么显示分数? 头顶上画个框框,每次炸了星星就更新数字。这没关键是字体调来调去都嫌丑,烦躁!
  • 问题三:连续得分有没加成? 哎呀妈,这个可难住我了。本来炸一次加100分,我就想做个效果,连着点速度够快就额外给分。弄了个定时器盯着两次点击的时间差,短了就给Bonus分数。结果经常点了没反应,或者Bonus乱跳,搞得跟抽风似的,后来加了个状态锁才算锁住这疯跑的分数。

最难顶的是消除判断。星星炸完了,上面剩下的星星得掉下来填坑,然后左边再往右挤挤补位。每次消除完都判断一下横的竖的还有没有能成三个同色的。这个双重循环写的,我自己都绕晕了,中间好几回判断漏了,结果剩一颗孤零零的也能给算消除!气得我直灌凉白开。

第四步:收尾杀青

加了个重新开始按钮。重玩按钮必须的呀,分数摆那儿不能重玩不是找骂嘛。点击按钮把所有分数清零,把画布清干净,重新摆上花花绿绿的星星方块。收工!

整个弄下来,积分这个玩意儿真的比想象中复杂多了。它不是简单加个数字的事儿,炸星星的时机、星星炸完的填补、状态判断,一大堆杂七杂八的事都连在积分上了。测试时候喊我老婆玩,她边玩边骂:“你这也太抠门了,炸半天才这么点分!” 这积分算法还得再琢磨琢磨!

标签: