0

これが私のコードの一部です:

           PlayerInfo P1 = new PlayerInfo();
            P1.setInfo(1);
            System.out.println("" + P1.X + "," + P1.Y);
            PlayerInfo P2 =  new PlayerInfo();
            P2.setInfo(2);
            System.out.println("" + P1.X + "," + P1.Y);
            PlayerInfo P3 = new PlayerInfo();
            P3.setInfo(3);
            System.out.println("" + P1.X + "," + P1.Y);
            PlayerInfo P4 = new PlayerInfo();
            P4.setInfo(4);
            System.out.println("" + P1.X + "," + P1.Y);

プレーヤー情報は次のように定義されます。

public class PlayerInfo{
public static int Range;
public static int X;
public static int Y;
public static int Score;
public static int Lives;
private static ImageIcon image;
public PlayerInfo(int Num){
    Range = 1;
        if(Num == 1){
            this.X = 0;
            this.Y = 0;
            //System.out.println("" + X + "," + Y);
            image = new ImageIcon("H:\\My Pictures\\BomberMan\\BMBlack.png");
        }
        else if(Num == 2){
            this.X = 16;
            this.Y = 0;
            //System.out.println("" + X + "," + Y);
            image = new ImageIcon("H:\\My Pictures\\BomberMan\\BMWhite.png");
        }
        else if(Num == 3){
            this.X = 0;
            this.Y = 16;
            //System.out.println("" + X + "," + Y);
            image = new ImageIcon("H:\\My Pictures\\BomberMan\\BMRed.png");
        }
        else if(Num == 4){
            this.X = 16;
            this.Y = 16;
            //System.out.println("" + X + "," + Y);
            image = new ImageIcon("H:\\My Pictures\\BomberMan\\BMBlue.png");
        }
    Score = 0;
    Lives = 3;
}

現在、私のコードは表示されています:

0,0

16,0

0,16

16,16

いつ表示されるはずですか:

0,0

0,0

0,0

0,0

P1.X と P1.Y は 0 と 0 として初期化されており、コードで変更することは想定されていないためです。P1.X と P1.Y の値にまったく触れていないのに、なぜ変更されているのかわかりません。誰かが私にこれを説明してもらえますか? 注: 情報と PlayerInfo の配列を設定する別のメソッドを作成しようとしましたが、何も機能しません。前もって感謝します。

4

1 に答える 1