|
RT:
一直喜欢用Lejos写写乐高程序。由于一此原因,必须用回原版固件。第三方语言只能使用NXC了!
发一个练手的代码。请批评指正!- int count=0;//计数
- /******************
- 让一个球掉进分色器
- *******************/
- void runB()
- {
- OnFwd(OUT_B,50);
- until (SENSOR_1==1);
- RotateMotor(OUT_B,50,288);
- }
- /*********************
- 主程序
- **********************/
- task main()
- {
- SetSensorTouch(IN_1);//初始化触碰传感器,给进球器使用
- SetSensorTouch(IN_2);//初始化触碰传感器,给分色器使用
- SetSensorColorFull(IN_3);//初始化颜色传感器。
- OnFwd(OUT_C,50);
- until (SENSOR_2==1);
- RotateMotor(OUT_C,50,45);//分色器系统复位
- while (true)//分球开始
- {
- switch(SENSOR_3)
- {
- case 2://蓝色球使用0度篮筐
- runB();
- Wait(300);
- break;
- case 3://绿色球使用90度篮筐
- RotateMotor(OUT_C,40,90);
- runB();
- RotateMotor(OUT_C,40,270);//归位到0度篮筐
- break;
- case 4://黄色球使用180度篮筐
- RotateMotor(OUT_C,40,180);
- runB();
- RotateMotor(OUT_C,40,180);
- break;
- case 5://红色球使用270度篮筐
- RotateMotor(OUT_C,40,270);
- runB();
- RotateMotor(OUT_C,40,90);
- break;
- default:
- runB();
- count++;
- if(count==5)//如果系统循环5次仍然没找到球就停止程序
- {StopAllTasks();}
- break;
- }
- }
- }
复制代码 |
|