对于类,我做了一个基于回合的战斗游戏,它用:Player.HP = 100;
(在一个结构中)跟踪用户的健康状况。
它是用cout << "Health: " << Player.HP << endl;
打印的
一旦其生命值或计算机对手的健康值等于或小于0,便退出do while循环。
} while ((Player.HP >= 0) && (com.HP >= 0));
例如,如果健康值等于-14,是否有比使用If语句更清晰地将其打印为0的方法?
发布于 2016-10-10 05:35:15
可以用inline if编写if语句
cout << "Health: " << (Player.HP >= 0 ? Player.HP : 0) << endl;
如果Player.HP
大于或等于零,则打印它,否则打印为零。
发布于 2016-10-10 05:41:40
一条路是std::max
..。
std::cout << "Health: " << std::max(Player.HP, 0) << '\n';
发布于 2016-10-10 05:42:06
使用getter函数提取您的行为:
class Player {
int HP;
public:
int getHP() const { return HP > 0 ? HP : 0; }
}
https://stackoverflow.com/questions/39951802
复制相似问题