RCJ2012 攻守互换通信协议(稳定版)

对于两部机器人,各自保存一个状态值(0-99),并不断通过蓝牙信道的个位、十位互相发送。
每隔一定时间将自身状态值减一,除非自身状态值已经小于10(进攻机)或小于2(防守机)

经过比较,状态值大于对方的机器执行进攻,小于对方的机器执行防守,若两相等则各自将随机值设为状态值;
按键命令可将状态值强行设为0或99;

进攻程序时刻将是否允许防守换位的判断值通过蓝牙信道的百位发送。
防守程序在连接正常且进攻机允许的情况下,可将自身的状态值设为99。

为避免过于频繁的易位造成混乱,可要求防守机在对方状态值大于90的情况下不进行易位。

使用以上协议可保证至少有一部机器处于防守状态,且在开机时可自动完成握手。但是,在连接意外断开时,可能会出现双重防守违例。这可以通过开球时强制重启并重置来暂时禁用防守功能、保证攻守各自稳定执行。

One Response to “RCJ2012 攻守互换通信协议(稳定版)”


发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

Powered by WordPress. Design: Supermodne.