首先,我问用户是否想成为第一个在游戏中移动的人,或者如果不是,计算机将通过执行以下操作先玩:
boolean playFirst = !gameName.equals("GUESSING GAME")
&& JOptionPane.showConfirmDialog(null, "Do you want to play "
+ "FIRST?")
== JOptionPane.YES_OPTION;
然后我想将该答案传递给游戏构造函数。
尼姆:
public Nim(boolean playSmart, boolean playersTurn)
{
this.playSmart = playSmart;
this.playersTurn = playersTurn;
this.gameRecord = "THE GAME OF NIM";
Random generator = new Random();
this.pileSize = generator.nextInt( 91 ) + 10;
}
井字游戏:
public TicTacToe(boolean playSmart, boolean playersTurn)
{
this.playSmart = playSmart;
this.playersTurn = playersTurn;
this.gameRecord = "TIC-TAC-TOE";
}
游戏只有在玩家选择先玩时才能正常工作,但如果他们想玩第二,玩家也会先玩。
我试图在构造函数中使用随机布尔值运行程序
this.itsMyTurn = ( new Random() ).nextBoolean();
当我这样做时,程序可以完美运行,但是它不能按照我希望的方式工作,方法是从用户那里获取答案,然后将其传递给构造函数。
请问有什么建议吗?