if ((nextNode->x == current->x && current->x == previous->x) || (nextNode->y == current->y && current->y == previous->y)) { return 0; // 如果是保持直线,则E值为0 } else { // 如果是一个拐点,则返回大于0的E值 return 3; },增加前提條件if,nextNode不是第一個坐標
时间: 2024-04-14 12:29:35 浏览: 86
根据您的描述,您想添加一个前提条件来检查`nextNode`是否是第一个坐标,以便在计算E值时进行判断。根据您的要求,以下是修改后的代码:
```cpp
if (nextNode != nullptr)
{
if ((nextNode->x == current->x && current->x == previous->x) ||
(nextNode->y == current->y && current->y == previous->y))
{
return 0; // 如果是保持直线,则E值为0
}
else
{
// 如果是一个拐点,则返回大于0的E值
return 3;
}
}
```
在上述代码中,我们添加了一个前提条件来检查`nextNode`是否为`nullptr`,即确保`nextNode`不是第一个坐标。只有当`nextNode`不为空时,才会进行E值的计算和返回。这样可以避免在第一个坐标时触发E值的计算。
请确保将上述代码放置在适当的位置,并根据您的实际情况进行修改。
阅读全文