[[2004/B1/28班練習問題]]

  task main(){
	SetSensor(SENSOR_2, SENSOR_LIGHT);
	int a,b,time;
	a = 0;
	b = 0;
	time = 0;
	
	ClearTimer(0);
	while(Timer(0) < 32){
		OnFwd(OUT_A);
		OnRev(OUT_C);
		if(SENSOR_2 > a){
			a = SENSOR_2;
			time = Timer(0);
		}
	}
	
	Off(OUT_A + OUT_C);Wait(100);
	
	ClearTimer(0);
	while(Timer(0) < time){
		OnFwd(OUT_A);
		OnRev(OUT_C);
	}
	
	Off(OUT_A + OUT_C);Wait(100);
	
	while(true){
		OnFwd(OUT_A + OUT_C);
		if(SENSOR_2 < a && b == 0){
			until(a <= SENSOR_2 || Timer(0) == 3){
				OnRev(OUT_A);
			}
			Off(OUT_A + OUT_C);
			if(a <= SENSOR_2){
				b = 0;
				a = SENSOR_2;
			}else{
				b = 1;
			}
			if(b == 1){
				until(a <= SENSOR_2 || Timer(0) == 3){
					OnRev(OUT_C);
					OnFwd(OUT_A);
				}
				if(a <= SENSOR_2){
					b - 1;
					a = SENSOR_2;
				}else{
					Off(OUT_A + OUT_C);
					break;
				}
			}
		}
		if(SENSOR_2 < a && b == 1){
			until(a <= SENSOR_2 || Timer(0) == 3){
				OnRev(OUT_C);
			}
			Off(OUT_A + OUT_C);
			if(a <= SENSOR_2){
				a = SENSOR_2;
				b = 1;
			}else{
				b = 0;
			}
			if(b == 0){
				until(a <= SENSOR_2 || Timer(0) == 3){
					OnRev(OUT_A);
					OnFwd(OUT_C);
				}
				if(a <= SENSOR_2){
					b = 0;
					a = SENSOR_2;
				}else{
					Off(OUT_A + OUT_C);
					break;
				}
			}
		}
	}
 }



トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS