for (int i = 0; i < agvs.size(); i++) { if (! paths[i].empty()) { Node* next_node = paths[i][0]; float speed = agvs[i].getSpeed(); float distance = sqrt(pow(next_node->x - agvs[i].getCurrentX(), 2) + pow(next_node->y - agvs[i].getCurrentY(), 2)); float time = distance / speed * 1000; //node_Value[next_node->x][next_node->y] = 10; QTimer::singleShot(time, this, [&, i, next_node]() { agvs[i].setCurrentX(next_node->x); agvs[i].setCurrentY(next_node->y); this->update(); // 在窗口中重绘 }); } },添加代碼,使存儲在path中current坐標到end坐標,代入到map值變爲5
时间: 2023-12-06 09:44:45 浏览: 27
您可以尝试以下代码修改:
```
for (int i = 0; i < agvs.size(); i++) {
if (! paths[i].empty()) {
Node* next_node = paths[i][0];
float speed = agvs[i].getSpeed();
float distance = sqrt(pow(next_node->x - agvs[i].getCurrentX(), 2) + pow(next_node->y - agvs[i].getCurrentY(), 2));
float time = distance / speed * 1000;
//node_Value[next_node->x][next_node->y] = 10;
QTimer::singleShot(time, this, [&, i, next_node]() {
agvs[i].setCurrentX(next_node->x);
agvs[i].setCurrentY(next_node->y);
node_Value[next_node->x][next_node->y] = 5; // 将当前节点的值设为5
this->update(); // 在窗口中重绘
});
}
}
```
其中,`node_Value`是存储地图节点值的数组,需要根据具体情况进行修改。