我一直在尝试对一辆 radio 控制车进行编程,使其根据五个巡线传感器的读数来沿线行驶。
巡线传感器在线上时给出 1,不在线上时给出 0。
例如:如果传感器读数为 00100,汽车就会前进。
当传感器读取到 11111(死胡同)时,我遇到了一个问题。
- 汽车应该掉头。当它进行掉头操作时,传感器的状况会发生变化。
- 假设它变成 11000。
- 这个新值将我带到另一个 if 语句,即 if 11000 向左转并且 uturn 顺序丢失。
问题:当条件改变时,如何使 uturn 的 if 语句不被其他 if 语句打断?
最佳答案
使用 bool 值。
if (sensors == "11111") makingUturn = true
然后
if (sensors == "00100") makingUturn = false
现在,对于所有其他条件,请在继续执行该条件的代码之前检查 makingUturn
是否为 false
注意
如果不是很明显,这并不意味着要编译和执行的实际代码。 if (sensors == "ddddd")
的意思是检查所有 5 个传感器是否都具有字符串每个位置的值。当我说 makingUturn = bool
时,将 bool 替换为 1 或 0,具体取决于您想要 true
还是 false
关于c - 我的嵌套 if 语句,需要创建一个不间断的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47744098/