-2

以前のコードについて申し訳ありません。これはコンピューターのコードです。ユーザーが座標N1を選択すると、その位置をブロックできる別の座標がランダムに選択されます。これは、私がJavaで作成しようとしている三目並べゲームの一部です。座標にxを印刷するのに問題があります。あなたが私を助けることができれば私はそれを大いに感謝します。単純なai。

here is the code:

import java.util.*;
public class compbrain{
public static void main(String [] args)
{
 char x = 'X';
 char [][] ar = new char [3][3];
 System.out.println("Player X: Enter the coordinate where you want an X placed. Example    1 0");
 int choice1 = input.nextInt();
 int choice2 = input.nextInt();
 char N = ar[choice1][choice2] = x;
  char N1 = ar[0][0];
  char N2 = ar[0][1];
  char N3 = ar[0][2];
  char N4 = ar[1][0];
  char N5 = ar[1][1];
  char N6 = ar[1][2];
  char N7 = ar[2][0];
  char N8 = ar[2][1];
  char N9 = ar[2][2];
 int r = (int)(Math.random() * 4);
 char [] arrayN1 = {N4,N7,N2,N3,N5,N9};


 if(N == N1){arrayN1[r] = x;}

 System.out.println("      0     1      2     ");
    System.out.println("   --------------------");
    System.out.println("0  |  "+N1+"  |   "+N4+"  |  "+N7+"  |");
    System.out.println("   --------------------");
    System.out.println("1  |  "+N2+"  |   "+N5+"  |  "+N8+"  |");
    System.out.println("   --------------------");
    System.out.println("2  |  "+N3+"  |   "+N6+"  |  "+N9+"  |");
    System.out.println("   --------------------");
}
}
4

1 に答える 1

1

私はあなたの問題が何であるかを理解したと思います。

解決策は次のとおりです。

// Setting a random field to 'o'
Random r = new Random();
int a = r.nextInt(3);
int b = r.nextInt(3);

ar[a][b] = o;

// Printing the fields
System.out.println("      0     1      2     ");
System.out.println("   --------------------");
System.out.println("0  |  " + ar[0][0] + "  |  " + ar[1][0] + "  |  " + ar[2][0] + "  |");
// and so on

arrayN1 には、ar[1][0] およびその他の値のコピーのコピーだけで、配列は含まれませんでした。

arrayN1 の値を変更することで、Nx 文字の一部や ar[][] の値を変更することはありません

于 2011-10-22T20:45:13.773 に答える