gpt4 book ai didi

c++ - 有没有办法把它变成一个循环以使其更具包容性?

转载 作者:行者123 更新时间:2023-11-28 04:02:45 25 4
gpt4 key购买 nike

   if (player.is_alive() == true) {
player_roll = roll();
}
if (ai1.is_alive() == true) {
ai1_roll = roll();
}
if (ai2.is_alive() == true) {
ai2_roll = roll();
}
if (ai3.is_alive() == true) {
ai3_roll = roll();
}
if (ai4.is_alive() == true) {
ai4_roll = roll();
}
if (ai5.is_alive() == true) {
ai5_roll = roll();
}

这是检查玩家和 ai(它们是对象)是否存活并允许它们滚动(这是一个随机函数)

最佳答案

您可以将 alive 测试和 roll 包装到一个函数中,例如:

void IfAliveRoll(Player& player, uint32_t& roll)
{
if (player.is_alive())
roll = roll();
}

然后您可以简单地将它用于您想要的任意多个实体:

IfAliveRoll(player, player_roll);
IfAliveRoll(ai1, ai1_roll);
IfAliveRoll(ai2, ai2_roll);
IfAliveRoll(ai3, ai3_roll);
IfAliveRoll(ai4, ai4_roll);
IfAliveRoll(ai5, ai5_roll);

函数名很清楚发生了什么。

关于c++ - 有没有办法把它变成一个循环以使其更具包容性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59241160/

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