0

ボードゲームのシミュレーターを実行していて、コンピューターが 0 から 5 の間の配列 (ボード) 内のランダムな位置を選択する必要があります (これはすべて完了しています)。ランダムな値が空の位置を選択すると、「エラー、もう一度移動してください」と出力されますが、不正な移動にもかかわらず、移動は movehist 配列に追加されます。このランダムな int を解析する良い方法を考えている人はいますか?

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 に答える