手机浏览器扫描二维码访问
于是在这些知识的支撑下,推箱子游戏地图的加载问题迎刃而解。
现在地图数据装在了一个八行八列的二维数组中,只需要使用双重for循环遍历数组下标就能够取出其中的元素了。
在遍历二维数组时使用if来判断当前元素的值,为0时什么都不做,为1时加载灰太狼的图片,为2时加载懒羊羊的图片,为3时加载树,为4时加载煮羊的大黑锅,最后再根据当前数组元素的下标来计算出图片在窗体中的位置就大功告成了。
这其中的知识点可谓和环环相扣,难怪老爹会用这个例子来让我学习这些知识。
人啊,永远是贪心的。
一开始我总想着要如何实现加载地图这个功能,现在实现了,我又不满足于此,想要把整个游戏全部都完成。
老爹当然没有理由拒绝我想要完成这个游戏的请求,因为老爹他本身就是一个有始有终的人,自然不会让我半途而废。
当然,主要原因是我如今的知识储备已经完成能够完成这个游戏的核心功能了。
以上的两点内容纯属我个人想象。
多年以后,我回顾这段时间才发现,我还是年轻,太天真,老爹让我做的每一件事都有他的深意。
换句话说,从学习c语言开始,老爹就步步为营,为我设下了无数的陷阱,正等着我往里面踩呢。
别看一个推箱子游戏操作起来简单,但这其中涉及到的逻辑还是挺复杂的,从分析到实现,整整用了两天。
因为这其中的逻辑着实有点绕,我听完第一遍的时候完全是一脸问号,不知道老爹说了些什么。
于是老爹又从头到尾,仔仔细细地给我又说了一遍,我这才明白了七七八八。
即便如此,在实现过程中还是向老爹问了不少问题。
就拿移动一步来说,首先需要判断下一个位置是什么,如果是空,那就直接移动过去,并且将地图数组中灰太狼现在对应的元素从1修改成0,下一个位置对应的元素从0修改成1,最后再修改灰太狼的在窗体的位置就好了;如果是树,就什么也不干。
这两种情况是最简单的,实现也不过分分钟的事情。
难就难在下一个位置是羊、黑锅以及羊正在黑锅里。
如果下一个位置是羊,还需要判断下下个位置是什么,这时又有五种可能:空、树、羊、黑锅、羊正在锅里。
其中下下个位置为树、羊、羊正在黑锅里边是最简单的,因为这个时候灰太狼是不能移动的,即什么都不做。
麻烦的是下下个位置是为空和黑锅。
如果下下个位置是空,那么灰太狼将会把羊推到这个位置,而灰太狼自己则会在羊原来的位置,所以需要把下下个位置在地图数组中对应的元素从0修改成2,羊原来的位置从2修改成1,灰太狼原来的位置从1修改成0,最后再修改图片在窗体中的位置就好了。
下下个位置如果是黑锅的话,要相对简单一些,需要做的就是把羊扔进锅里,即黑锅的位置对应的地图数组元素要从原来的4变成6,因为2代表羊,4代表锅,42=6,所以6代表羊在锅里。
而羊原来的位置就从2变成1,灰太狼原来的位置从1变成0,最后修改它们在窗体中的位置。
这只是下一个位置为羊的这种情况,另外还有下一个位置是黑锅、以及羊在黑锅里边。
...
你说这靠谱不靠谱!堂堂大清朝的王府小姐竟然在脱得光溜溜的洞房花烛夜的交融瞬间穿越到了二十一世纪!更可悲的是,她的落脚地竟然是一个有着裸睡习惯的花花总裁的床上。而当时这个花花总裁正好从浴室里出来,从小被封建礼数所约束的她,怎能忍受这样被人偷窥的尴尬,抬脚就对他拉开了攻势,趁着黑暗对他飞起一脚。大胆狂徒!竟敢偷看本小姐的洞房花烛夜,还不拿命来?他边对她使着狗刨沙的功夫,边口出狂言回...
大宋教书匠紧急通知现代教书匠纵横大宋王朝捭阖学术之巅。...
背负血海深仇的神秘少年获得外星传承,带着一身出神入化的魔术踏入大都市,开始他的神奇之旅,替冰冷女总裁化解危机,透视,精神控制,赌石,赛车,泡美眉,无所不能,样样精通。他的魔术脱离了魔术的范畴,让你赏心悦目,让你疯狂,如痴如醉,这是魔术,还是异能?...
随着灵气的复苏,原本三分大陆七分海洋的蓝水星变成了一片沙漠。在沙漠中有种神奇的宝物叫做软木塞,只要找到它,把它拔掉,便能长出一片绿洲!新世纪九十九年,这是蓝星上灵气复苏之后的第一百个年头!一名被流放到南沙海的少年,在这里拔掉了属于自己的第一个软木塞,拥有了属于自己的一片绿洲。...
一场惊天重生,他回想起前世之屈,百宗陷害,陨于万兽潮。今生归来,前无古人,后无来者,他杀蛮兽,屠百宗与百族,前世天下皆负他,如今却他只能只手遮天,扭转乾坤,雪洗前世之屈。...