手机浏览器扫描二维码访问
于是在这些知识的支撑下,推箱子游戏地图的加载问题迎刃而解。现在地图数据装在了一个八行八列的二维数组中,只需要使用双重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,最后修改它们在窗体中的位置。
这只是下一个位置为羊的这种情况,另外还有下一个位置是黑锅、以及羊在黑锅里边。
下一个位置是黑锅这种情况比较简单,除了要把黑锅在地图数组中对应的元素值从4改为5(1代表狼,4代表锅,41=5,所以5代表狼在锅里)之外,其他的操作和为空几乎一模一样。
不过这一点我有点不满,灰太狼自己怎么能够进锅里面呢?直播铁锅炖自己么?
对于我提出的这点诟病,老爹丢下了一句话:「觉得不满意就自己改。」
这肯定不能忍,于是我就加了一点逻辑,当地图数组元素的值等于5时,把黑锅隐藏起来,只显示灰太狼,其他的逻辑不变。
对于我的不将就,老爹给予了充分的赞许。
不过我还来不及高兴,就被最后一种情况给虐得体无完肤,因为这种情况比是羊还麻烦。
和下个位置是羊一样,需要考虑下下个位置分别是空、树、羊、黑锅和羊在黑锅里五种情况。
其中下下个位置是树、羊和羊在黑锅里不用做任何处理,因为灰太狼推不动。
首先是下下个位置如果是空,那么羊就从锅里面推出来了,而灰太狼自己掉进了锅里,本来也不怎么复杂,将下下个位置对应在地图数组里的元素从0修改成2,下个位置从原来的6变成5,灰太狼的位置从1变成0,然后再修改他们在窗体中的位置。
但是因为我自己作死,之前添加了灰太狼掉进锅里的时候隐藏锅。既然那边都添加了逻辑,这边肯定也不能落下啊。
现在就剩下最后一种情况,下下个位置是黑锅。这个时候羊从一个锅移动到了另外一个锅,所以下下个位置在地图数组中对应的元素就从原来的4变成了6,紧接这灰太狼掉进了原来羊所在的锅,所以这个锅在地图数组中对应的元素从6变成了5,灰太狼原来的位置从1变成了0。
这个时候我有点想抽自己两下,没得事自作聪明修改个什么劲儿?这不是自己坑自己么?
有道是:天作孽,犹可恕。自作孽,不可活。自己挖的坑,哭着也要往里面跳。
在费尽九牛二虎之力后,推箱子这个游戏的核心功能终于让我给完成了!此时我觉得成就感爆棚,仿佛自己真的就成了造物主,创造了一个世界。
但是我总觉得好像少了点什么,不过哪能想这么多,先玩儿一把过过瘾。
为了方便分析,老爹找的这个地图很简单,根本不用脑子就能完成,此时我有些不满足这个游戏的难度,于是在网上找了一个比较难的地图,用肉眼解析,将地图数组中的数据换了。
这个时候我就感受到了使用数组来存放地图数据以及用for和if结合来加载地图的好处,因为虽然我换了数据,其他逻辑完全不受影响。
所以如果要切换关卡,就只需要修改地图数组中的数据就行了。
花了些时间将所有的羊都推进了黑锅,我终于意识到了问题所在。
青梅千千结 我的蛮荒部落 四龙攒凤 韩娱之聚光 嗣子荣华路 异界烽火录贰烽云再起 阴阳眼小师妹 大佬甜妻宠上天 最强豪婿陆凡 衫生诡 龙婿陆凡 王妃称心 夫人的病今天好了吗 校园全能马甲女神 上门龙婿陆凡 梦灾末世生存指南 迟宠 张钟颖 顾九辞霍明澈 戚风童话
重生之魂帝归来不后悔?我自被你创造出来有七万年了吧?这七万年我无时无刻不在心痛你别忘记了,我跟你是同一人成帝位后终身未娶,你告诉我你不后悔!这九天之劫,你过不去!我也过不去,道心不够完美我是你的懦弱你创轮回炼神诀,却没有修行,我却做到了轮回有什么用!我以我身炼乾坤!逆乱轮回!我命由我不由天!我,回来了若我未重生回来,你们会死!!...
作者雲巅丨冷月大大的经典小说玩转系统之盘古后人最新章节全文阅读服务本站更新及时无弹窗广告小说荒芜,亘古长存的神明无法踏足之地。一颗蔚蓝的星体降临仿若点亮了这片光怪陆离的天地,古魔仙王拼长生,夺天造化,热血与高亢,激情如江水波涛,弹指间岁月匆匆。黑暗的古老岁月,轮回与阴祸,初始之地,太多的古史被迷雾遮拢,雾中有人在细语,有兽在嘶吼,古魔横行,生灵寂灭,一局万古空,千秋溃灭。仙王,无上掌中岁月如剑,一觉百万载,世间轮回,深藏于岁月的秘密逐渐挖掘,他拥有盘古一切,当无敌于世,观岁月悟天道因果...
网络首款现实版恋爱养成游戏唐劲,一个整日游手好闲的不良学生,无意中得到一块具有神奇力量的手表。戴上之后,他发现自己只要跟异性聊天交流,便可以知道双方的恋爱指数。有了这样一块可以将爱情数据化显示的手表,恋爱对唐劲来讲成了一场提高爱情指数的现实游戏。一个对爱情懵懂无知的少年,在这物欲横流,灯红酒绿的现代都市中,他会选择玩弄女人的感情,还是寻找一生的真爱PS文中恋爱表对女性心理分析并非作者主观见解,参考资料有女性心理探秘女性恋爱心理解读女性心理女大学生恋爱特点女性性心理等。...
靳少心尖宠萌妻有点甜初次,她被渣姐算计,误把暗夜中的男人当作了心爱之再次,救我!被渣男当打包送人之际,她扑向他的怀里,乞求帮助!最后,他和她手指勾勾,我帮你虐渣渣,你帮我生继承人。好!没问题!一拍即合,从此南灵在越城横着走,被宠上了天。...
一名曾经江湖独行大盗,在金盆洗手准备改邪归正的时候,意外与偷袭妖精不成,导致雷劫的天师合二为一,天师成为了大佬的背后灵。两者结合,变成了一种游走于生死之间的全新生物。一人一灵两个人,一下子成为了地府,人间,地狱,妖庭等等共同瞩目的特殊存在。这是一个特别的捉鬼故事,有热血,有温情,有友情,有爱情,就是没有节操。...
他将她救出,让她变成了他的女人,妹妹却冒充了她。她怀着身孕却被他从三楼推下去,胎死腹中,被告知,寒毒入体,她恐怕再无能力怀孕。数年后,她成为著名作家,携宝贝女儿出现在签售会上,他赶来,百般祈求,婕妤,跟我回家,好不好?她眯眼冷笑,先生,你认错人了!...