Begone
上面分别是下一次要改变的方向,是上、左的时候,原始状态的不同情况;右、下类似
已移动后,不擦除原来的障碍物为第一出发点
走到这种状态,是有前提的,这点很重要,也是能处理好的根本原因;不会凭空,走到某种状态
符合行为规范
注意:关于同类坦克情况,禁止互相跨越的时候,和这个障碍物的判断,还有所不同,这个 判断,要完全按照9格处理,否则,会导致无法移动;
敌方坦克的移动和发射子弹,主要考虑在单线程下,如何判断——时间差。
另外,在控制坦克移动时,可以使用的逻辑,但是,也要注意下,按键去抖。
子弹遇到边界或这敌方子弹,消失的时候,对应要free掉产生时的空间,同时,维持链表结 构不被破坏。
子弹遇到敌方坦克,敌方坦克消失,这个处理,可以在相遇的位置,设置一个不同的值;坦 克移动的时候,检查,它的值是不是包含这个,包含,证明自己被击中,就要销毁掉它的数 据结构,尤其注意子弹的销毁。
关于,存档,如果杀死了一个坦克,这时候保存,要注意消失的是哪个,因此,需要记录下 标;不过,后来,设计的时候,每死掉一个坦克,就会自动产生一个,因此,这个也算是一 个预留的接口吧。
单线程处理起来,有时候,会感觉到控制坦克时,有时候会很快,有时候,会比较慢,这也 体现出了一定的局限性。
另外,最为重要的一点,思想要灵活,各种语言的规范,规矩,互相之间,可以在遵循某些 情况的前提下,进行变通和引进。
记录至此;至于画图,等其他功能,和贪食蛇基本类似,可以拿来主义。
keyboard_arrow_left上一篇 : 基于C#实现的支持AI人机博弈的国际象棋游戏程序 Linux环境下基于GTK的CS聊天系统 : 下一篇keyboard_arrow_right