程序猿特有的技能就是在闲来无事的时候,可以自己逗自己玩,你并没有看错,我们搞了四台相扑机器人sumorobot,让它们对战,为什么这么设计呢,因为好玩呀!
相扑机器人赛事的挑战在于参赛机器人需要寻找其对手(通常是通过红外线或超声波传感器),将对手推出竞技场。参赛机器人为避免尴尬离开舞台,通常自备传感器,以检测边缘。
我们搞的四台相扑机器人,虽然都是同一类型的机器人,但是为了让一切更刺激,我们修改了代码,用了三套方案,让它们都有属于自己的战斗方式。
1.直接型
运用直接型的机器人是marcus、和matt这两台sumoRobot的名字就是它们持有者的名字,可见其主人对它们的心爱程度,也从侧面反映了这两位玩家的懒癌程度。
这种代码是这一套sumorobot的初始进攻模式,一开始会以较慢的速度直行,然后根据底板上面的红外测距传感器返回的参数值来确定敌人在哪个方向,然后朝改防线猛烈的撞击。程序框图如下:
2.搜索型
Searching,它的战斗方式就是它的名字。一开始运行的时候,它就会转动它的身子以90°的范围来搜索前方是否有敌人,一旦探测到前方某个位置有敌人的存在,它就会立即以最大的速度充装上去,fighting。它的优势在于,在确定敌情之前绝不轻举妄动,一旦行动,必如脱兔。
3.旋转型
运用这种进攻方式的sumorobot是“战神”(老实说这是一个多么俗气的名字)。这一种模式跟搜索型有着异曲同工之处,一开始运行的时候它也是搜索,不过其搜索方式有所不一样,它的方式是朝着一个方向进行360°的旋转。这种方式有一个有是,另一台小车无论从哪个方向撞击过来,它都能够以最快的速度察觉到敌情,不给敌人可趁之机。程序框图如下:
相扑机器人对战视频:
开玩笑,花了这么多时间组装和调试代码。当一切完成之后,怎么能不比试比试看看谁的相扑机器人才是战争的王者呢?
所以我们开始了一场没有规则,只注重哪一台车留在台上以及观赏性的乱斗比赛:
【转载自DF社区】