问题就是,我已经过关了,居然没有过关提示!我仔细地想了一下,似乎我的程序里边根本就没有相关的逻辑!
想到此处,我不禁深感汗颜,这可是一个重大的bug!
古人云:亡羊补牢,为时不晚。
古人还云:知错能改,善莫大焉。
于是我停下来思考这个问题,同时还想了一下程序还存在什么问题。
除了没有关卡完成判断的逻辑外,还有就是现在的关卡有一个,如果要切换关卡就要修改地图数组里面的内容。
目前切换关卡的模式是手动修改数组,要是游戏需要给其他人玩儿,这就死翘翘了,因为我的小伙伴们基本上都不会编程啊。这样一来,就会严重影响到我在他们面前装十三的体验,所以这个问题必须得解决,刻不容缓。
「可以将地图数据放在一个文件里边,切换关卡的时候从文件中读取对应的数据就可以了。」
老爹给出了他的方案,但是我不会呀。
在我的追问之下,老爹说要等到学了文件指针才能完成这个功能。这就没有办法了,毕竟巧妇也难为无米之炊。既然这个问题暂时不能解决,那就先把关卡完成的判断实现了再说。
到时候给那些小伙伴玩儿了之后,要是他们还要玩儿后面的关卡,就让他们转账给我!我才给他们解锁新地图。但是他们那里知道,要解锁新的地图根本就不需要修改逻辑代码,只要复制粘贴替换地图数据就好了。
想到这里,我似乎已经看到了大家争着给我转账,让我解锁新地图的情景了。
「这种操作模式有点熟悉的样子啊!先不管这么多了,还是考虑如何实现过关功能吧。
过关的关键在于所有的羊都被推进黑锅当中,所以需要一个变量来统计总共有多少只羊,还需要另一个变量来统计被推进黑锅中的羊的个数。
当他们两个相等的时候,那就是过关了!」
我自己在脑中思考这其中的门道,在确认了即便思路没有问题后,接下来就是如何实现这个功能。
「羊的个数,只需要在地图加载的for循环中加载羊的那个if中添加一句代码就好了。
至于已经推进锅里的羊的个数,这个要在下一个位置是羊,下下个位置是锅的地方统计。
那什么时候进行判断呢?嗯~,每一次移动都需要判断!」
我很快理清楚了实现方式,于是开始写代码。但是因为代码好像有些太多了,而且有些代码相似度很高,容易产生错觉。寻找起来着实有些麻烦,不过好在我耐下性子,一行一行地仔细核对,总算是完成了。
接着就是紧张的测试,放了一张简单的地图进去,看到调试窗口里边打印出来的「恭喜过关!」的时候,我一下从椅子上跳了起来!成了!
感觉有些不真实,我居然在没有老爹的帮助下,靠我自己单独完成了一个功能!于是我强行按捺住激动的心情,又换了两张地图测试了一遍,都没有问题!
我激动到无以复加,那种感觉真的没有办法用言语来形容,让我居然有点想哭,久久不能平静下来。
这一刻,我觉得之前为之付出的辛劳都是值得的。
「老爹,老爹,我成功了,这个游戏完成了!」
我跑到正在沙发上看书的老爹面前嘚瑟道,脸上就差没有刻着「快表扬我,快表扬我」的字眼了。