首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有办法把它变成一个循环,使它更具包容性?

有没有办法把它变成一个循环,使它更具包容性?
EN

Stack Overflow用户
提问于 2019-12-09 08:30:01
回答 1查看 49关注 0票数 0
代码语言:javascript
运行
复制
   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(它们是对象)是否活着,并允许他们滚动(这是一个随机函数)。

EN

回答 1

Stack Overflow用户

发布于 2019-12-09 08:47:01

您可以包装活动测试并将其放入一个函数中,例如:

代码语言:javascript
运行
复制
void IfAliveRoll(Player& player, uint32_t& roll)
{
    if (player.is_alive())
        roll = roll();
}

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

代码语言:javascript
运行
复制
IfAliveRoll(player, player_roll);
IfAliveRoll(ai1, ai1_roll);
IfAliveRoll(ai2, ai2_roll);
IfAliveRoll(ai3, ai3_roll);
IfAliveRoll(ai4, ai4_roll);
IfAliveRoll(ai5, ai5_roll);

函数名清楚地说明了正在发生的事情。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59241160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档