我正在用 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();
}