随机AI / Switch案例?

时间:2009-10-13 16:18:26

标签: iphone artificial-intelligence switch-statement

所以我有一个非常简单的游戏在这里...,现在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上。如果有更好/不同的方式,我愿意接受它。

3 个答案:

答案 0 :(得分:1)

Generating Random Numbers in Objective-C

int randNumber = 1 + rand() % 100;

if( randNumber < 68 )
{
//68% path
}
else
{
//32% path
}

答案 1 :(得分:0)

int randomNumber = GeneraRandomNumberBetweenZeroAndHundred()

if (randomNumber < 68) {
computer moves the complete opposite way its supposed to
} else {
computer moves the correct way
}

答案 2 :(得分:0)

许多PRNG将提供[0,1]范围内的随机数。您可以改为使用if语句:

   n = randomFromZeroToOne()

   if n <= 0.68:
        PlaySmart()
   else: 
        PlayStupid()

如果你要生成一个从1到N的整数,而不是浮点数,请注意结果中的modulo bias