足球防守
void main() { /*通过永远循环,让机器人可以总是对来球进行判断,连续防守。*/ while(1) { /*如果机器人后方红外球检测传感器(3,4)检测到足球,后退挡住球。*/ if( analog(3)>30 || analog(4)>30) { /*全速后退*/ motor(0,-100); motor(2,-100); } else { /*如果机器人前方红外球检测传感器(5,6)检测到足球,前进挡住球。*/ if( analog(5)>30 || analog(6)>30) { /*全速前进*/ motor(0,100); motor(2,100); } else { /*因为机器人在比赛过程中不能停止不动,所以机器人必须保持一个动态的移动动作。 前进*/ motor(0,100); motor(2,100); /*后退(由于机器人的不同,在效果上应该让前进和后退的位置一样,即保持机器人中心位置不变)*/ motor(0,-60); motor(2,-60); } } } }
足球进攻
void main() { while(1) { /*利用两侧红外球检测传感器检测数值必须小于50而中间红外球传感器数值大于29的条件来确定机器人是否正对着球,如果是,进攻。如果不是,再对机器人进行调节。*/ if(analog(4)>29 && analog(3)<50 && analog(5)<50) { motor(0,100); motor(2,100); } else { /*如果机器人不是中间传感器正对着球,而是左侧或后方传感器正对着球,机器人进行向左偏转调节。*/ if( analog(5)>30 || analog(6)>30) { while( analog(4)<80) { motor(0,-45); motor(2,45); } } else { /*如果机器人不是中间传感器正对着球,而是右侧传感器正对着球,机器人进行向右偏转调节。*/ if(analog(3)>30) { while( analog(4)<80) { motor(0,45); motor(2,-45); } } else { /*如果四个红外球检测传感器都没有检测到足球,转动寻球。*/ while(analog(3)<30 && analog(4)<30 && analog(5)<30 && analog(6)<30) { motor(0,60); motor(2,-60); } } } } } } |