C# でロボットをプログラミングし、デジタル コンパスを使用して方向を示しています。私が抱えている問題は、ターンループに入ったときに戻ってこないことです。DragonBoard は、私が話している私のコントローラーでもあります。これがどのように機能するかは、設定された方向と時間が与えられ、方向が一致するまで左または右に曲がり、設定された時間だけ前進します。私が抱えている問題は、それが前進することですが、ターンループに入るとそこにとどまり、forループに戻りません。どんな助けでも大歓迎です。
private void drive(int heading, int time)//going to start from kit
{
int i;
for (i = 0; i < time;i++ )
{
DragonBoard.Write("w");//go forward
while (int.Parse(bearingTxt.Text) - 1 > heading)
{
DragonBoard.Write("a");//turn left
break;
}
while (int.Parse(bearingTxt.Text) +1 < heading)
{
DragonBoard.Write("d");//turn right
break;
}
}
DragonBoard.Write(" ");
if (listBox1.SelectedIndex < listBox1.Items.Count - 1)
{
listBox1.SelectedIndex = listBox1.SelectedIndex + 1;
decision();
}