gpt4 book ai didi

C# - 如果所有比较都为真则返回真

转载 作者:行者123 更新时间:2023-11-30 13:44:20 26 4
gpt4 key购买 nike

每个 drone[i] 我都有一个 queue[i]

我的问题:如何制作等待每个 drone[i].actual_position == drone[i].desired_position 的代码而不是我当前的代码如果当前无人机 drone[i]desired_position == drone[i].actual_position

则等待

所以不是这个:

for (int i = 0; i < drones.Length; i++)
{
queue[i].Enqueue(drone[i].desired_position);

if (drone[i]desired_position == drone[i].actual_position)
{
queue[i].Dequeue();
queue[i].Enqueue(next_desired_position);
}
}

我想要这样的东西:

for (int i = 0; i < drones.Length; i++)
{
queue[i].Enqueue(drone[i].desired_position);

//TODO: what should I put into "if"?
if (/* all drone[i]desired_position == drone[i].actual_position */)
{
queue[i].Dequeue();
queue[i].Enqueue(next_desired_position)
}
}

TLDR:我想确保每架无人机在出列之前都处于他想要的位置,然后转到下一个位置以便无人机同步。

最佳答案

看来您正在寻找 All Linq 命令以及 for 循环和 if 交换:

 // If all drones are at their expected positions
if (drone.All(d => d.desired_position == d.actual_position))
// then set new goals for each drone:
for (int i = 0; i < drone.Length; ++i) {
// remove the target achieved
queue[i].Dequeue();
// but add a new location to go
queue[i].Enqueue(next_desired_position)
}

关于C# - 如果所有比较都为真则返回真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42245957/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com