- 追加された行はこの色です。
- 削除された行はこの色です。
*プログラム [#kae8eb5d]
**きたざわ [#k8b288df]
#define go OnFwd(OUT_B); //直進
#define spin OnRev(OUT_B); //左回転
#define eye_r SENSOR_2 //センサー2の名称を「eye_r」に定義
#define eye_l SENSOR_1 //センサー1の名称を「eye_l」に定義
#define boundary_r 50 //あとで訂正しやすいように値を定義
#define boundary_l 85 //あとで訂正しやすいように値を定義
#define ready 80 //あとで訂正しやすいように値を定義
task shoot() //ホイールを打つためのタスク
{
OnRev(OUT_A);Wait(150); //発射口のタイヤを回し始める(最高速に達するために、ホイールを押し出すよりも早めに回し始める)
OnRev(OUT_C);Wait(50); //ホイールを一つ押し出す
Float(OUT_A+OUT_C); //動かしているモーター2つをゆっくりと止める
}
task move() //懐中電灯まで近づくためのタスク
{
while(true) {
go; //普段は直進
if(eye_r<=boundary_r) { //もし
spin;Wait(100); //
go;Wait(50); //
spin;until(eye_r>=boundary_r); //
}
if(eye_l>=boundary_l) { //
spin;Wait(300); //
go;Wait(100); //
spin;until(eye_r>=boundary_r); //?
}
}
}
task main() //
{
SetSensor(SENSOR_1,SENSOR_TOUCH); //
SetSensor(SENSOR_1,SENSOR_TOUCH); //
SetSensorMode(SENSOR_1,SENSOR_MODE_RAW); //
SetSensorMode(SENSOR_2,SENSOR_MODE_RAW); //
while(true) { //
start move; //
if(eye_r>=ready) { //
Off(OUT_B); //
stop move; //
start shoot; //
}
}
}