所以我在这里有一个非常简单的游戏…,现在AI几乎是完美的,我希望它时不时地犯错误。唯一能让玩家获胜的方法就是我把电脑的速度降到一个让人麻木的容易的程度。
我的逻辑是有一个switch case语句,如下所示:
int number = randomNumber
case 1:
computer moves the complete opposite way its supposed to
case 2:
computer moves the correct way
我怎么能让它选择情况2的68% (随机百分比,只是一个例子)的时间,而仍然允许一些机会,使计算机失败?开关柜是正确的方法吗?这样,难度和速度都可以保持在较高水平,但当计算机出错时,玩家仍然可以获胜。
我在用iPhone。如果有更好的/不同的方法,我愿意接受。
发布于 2009-10-13 16:20:47
Generating Random Numbers in Objective-C
int randNumber = 1 + rand() % 100;
if( randNumber < 68 )
{
//68% path
}
else
{
//32% path
}
发布于 2009-10-13 16:20:53
int randomNumber = GeneraRandomNumberBetweenZeroAndHundred()
if (randomNumber < 68) {
computer moves the complete opposite way its supposed to
} else {
computer moves the correct way
}
发布于 2009-10-13 16:21:30
许多PRNG将提供[0,1]范围内的随机数。您可以改用if-语句:
n = randomFromZeroToOne()
if n <= 0.68:
PlaySmart()
else:
PlayStupid()
如果你要生成一个从1到N的整数,而不是一个浮点数,请注意结果中的modulo bias。
https://stackoverflow.com/questions/1561321
复制相似问题