2014-12-03 70 views
0
if (((turn % 2) != 0) && (vsComputer)) 
    { 
     int generateAI = generateRandomAI(AI); 
     switch (generateAI) 
      { 
       case 0:        
       computerMedio(); 
       break; 

       case 1: 
       computerDifficile(); 
       break; 
      } 
} 

我希望我的0/1值在所有游戏中都相同。 随着我写的代码,它在每一步都会选择不同的AI模式。随机数和开关语句

它不应该很难实现,但我找不到解决方案。

谢谢大家!

+7

就产生一个随机数一次,在比赛的开始,而不是在每台计算机转产生一个新的随机数... – 2014-12-03 13:49:43

+0

HMM不是一个坏主意 – 2014-12-03 14:30:39

回答

0

确定我解决以下列方式

public Boolean difficult; 
在我生成其中持续所有游戏数newGame()方法

。 然后,

switch (generateAI) 
    { 
     case 0:        
     difficult = false; 
     break; 

     case 1: 
     difficult = true; 
     break; 
    } 

进入游戏:

if (((turn % 2) != 0) && (vsComputer)) 
    { 
      if (difficult) 
      { 
       computerDifficile(); 
      } 
      else 
      { 
       computerMedio(); 
      } 

} 
1

您的问题是:

int generateAI = generateRandomAI(AI); 

你生成这个代码块的每次调用一个新的随机值。如果您希望为所有执行保持相同的值,只需生成一次值并将其保留在范围内即可。