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(它们是对象)是否活着,并允许他们滚动(这是一个随机函数)。
发布于 2019-12-09 08:47:01
您可以包装活动测试并将其放入一个函数中,例如:
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);
函数名清楚地说明了正在发生的事情。
https://stackoverflow.com/questions/59241160
复制相似问题