class Charge { public: Charge(int id_ ,int charge_x_,int charge_y_ ,bool charge_available_); int id; // 充電站ID int charge_x, charge_y; // 充電站位置 bool charge_available; //充電站是否可用; void setavailable( bool available ); std::vector<Charge> charges; };,if (agvs[i].current_x == agvs[i].end_x_ && agvs[i].current_y == agvs[i].end_y_)//如果到達充電站 { agvs[i].setbattery(100); agvs[i].setAvailable(true);//小車設置為可用 tasks[completed_task_index].completed = 2;//任務完成 scheduler.assign_task_to_agv(tasks, agvs); },增加代碼:充電站變爲可用
时间: 2024-02-25 17:51:46 浏览: 54
charging:一个关于充电的项目
可以在`Charge`类中添加一个`setAvailable`函数来设置充电站的可用状态。修改后的代码如下:
```
class Charge {
public:
Charge(int id_, int charge_x_, int charge_y_, bool charge_available_);
int id; // 充電站ID
int charge_x, charge_y; // 充電站位置
bool charge_available; // 充電站是否可用
void setAvailable(bool available); // 设置充电站的可用状态
std::vector<Charge> charges;
};
void Charge::setAvailable(bool available) {
charge_available = available;
}
```
然后在上述代码中,当小车到达充电站时,可以通过充电站的ID找到对应的充电站,并将其设为可用。修改后的代码如下:
```
if (agvs[i].current_x == agvs[i].end_x_ && agvs[i].current_y == agvs[i].end_y_) {
agvs[i].setbattery(100);
agvs[i].setAvailable(true);
tasks[completed_task_index].completed = 2;
for (int j = 0; j < charges.size(); j++) {
if (agvs[i].end_x_ == charges[j].charge_x && agvs[i].end_y_ == charges[j].charge_y) {
charges[j].setAvailable(true); // 充电站变为可用
break;
}
}
scheduler.assign_task_to_agv(tasks, agvs);
}
```
阅读全文