int userHP = 100;
int enemyHP = rand() % ((userHP - 50) - (userHP - 75)) + 1;
好吧,出于某种原因,这似乎无法正常工作,我正在尝试为敌人获得 50 -25 马力。
也 id 而不是它是一个百分比......就像
int enemyHP = rand() % ((userHP / 50%) - (userHP / 75%)) + 1;
但我喜欢坚持使用整数而不是乱用 float 或 double ...有人可以帮助我吗?
最佳答案
获取 [ Minimum , Maximum ] 范围内的随机数:
使用这个整数近似值:
int RandomNumber = Minimum + rand() % (Maximum - Minimum + 1);
并确保(最大值 - 最小值)<= RAND_MAX
或者使用这个更好的 float :
double RandomNumber = Minimum + rand() * (double)(Maximum - Minimum) / RAND_MAX;
关于c++ - rand () for c++ with variables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2982369/