0

我们正在运行棋盘游戏的模拟器,我们需要计算机在 0-5 之间的数组(他们的棋盘)中选择随机位置(所有这些都完成了)我们实现了一个数组 player1move,它存储了计算机的移动选择如果随机值选择了一个空的位置,我们会打印“错误,请再次移动”,但该移动被添加到 movehist 数组中,尽管它是非法移动。有人想到解析这个随机整数的好方法吗?

int player1move;
     Random rand1 = new Random();
     player1move = rand1.nextInt(6); 
     System.out.println("\nPlayer 1, Your move:");

    int h = 0;
int i = player1move;
player1array.add(i);
System.out.println(player1array);
h = h+1;
4

1 回答 1

0

您可以做的是使用异常来控制您的工作流程。您可以为您的情况定义一个特定的异常,例如EmptyPositionException,并在这种情况下使用它,如下所示:

int player1move;
Random rand1 = new Random();
player1move = rand1.nextInt(6);
if(isEmptyPosition(player1move){
    throw new EmptyPositionException("Error, please move again");
} 
System.out.println("\nPlayer 1, Your move:");

int h = 0;
int i = player1move;
player1array.add(i);
System.out.println(player1array);
h = h+1;

显然可以对代码进行改进。这只是为了让您了解您可以做什么。

当代码进入if语句,抛出异常时,方法中的其余代码将不会被执行。

于 2013-03-27T13:38:40.650 回答