[[2005/C3/しかた]]

 

#define A 30						//britht
#define B 40						//run
#define C 10						//trace little
#define D 10						//trace loop

void run()
{
	OnFwd(OUT_A);
	Wait(B);
	OnRev(OUT_A);
	Wait(B);
}
void trace(int x)
{
	repeat(D){
		OnFwd(OUT_A);
		Wait(C);
		if(x < A)	return;
	}
	repeat(D*2){
		OnRev(OUT_A);
		Wait(C);
		if(x < A)	return;
	}
}
task main()
{
	SetSensor(SENSOR_1,SENSOR_LIGHT);
	
	while(true)
	{
		if(SENSOR_1 < A)			//black line
		{
			run();
		}
		else						//white line
		{
			trace(SENSOR_1);		
		}
	}
	Off(OUT_A+OUT_C);
}	


感想
ロボット苦労しましたよ…

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