2005/MemberOnly/進行状況C

課題2:タッチセンサを使ったロボット

#define RUN 100			//走らせる間隔
#define CHEAK 50			//チェックする間隔
#define PUSH1 50			//壁に当たってるときの間隔
#define PUSH2 50			//↑その2

void run()			//走らせる
{
	OnFwd(OUT_A+OUT_C);
	Wait(RUN);
}
void check(int x )		//壁を這っているかチェックする
{
	OnFwd(OUT_A);		//右折させる
	Wait(CHEAK);
	
	if(x == 1)		//壁に当たれば、元に戻す
	{
		OnRev(OUT_A);
		Wait(CHEAK);
	}	
}
void push()			//正面の壁にぶつかったなら
{
	OnRev(OUT_A+OUT_C);	//下がって
	Wait(PUSH1);
	OnFwd(OUT_C);		//左折する
	Wait(PUSH2);
}
task main()
{
	SetSensor(SENSOR_1,SENSOR_TOUCH);
	while(true)
	{
		if(SENSOR_1 == 0)//押されていなければ
		{
			run();
			check(SENSOR_1);
		}
		else		//押されていれば
		{
			push();
		}
	}
	Off(OUT_A+OUT_C);	//←意味なし
}


感想

問題・課題点↓
机の下のコードが邪魔です。
明後日の方向へいっちゃうポイントがある。
写真を貼りたかったのですが、即次の機体制作のため撮れませんでした。

コメント

  • "問題"の内容を詳しく書いて下さい。そしてその解決方法も報告して下さいね。 -- かとりーぬ(TA)? 2005-12-09 (金) 18:57:18
  • 問題点書いときました。 -- c3? 2005-12-09 (金) 19:38:54
  • できれば、変数名は A, B, C, Dのような単純なものではなくて、どんな変数なのかわかりやすいものにしましょう。 -- 松本(教員)? 2005-12-12 (月) 13:04:24


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-12-16 (金) 18:29:16