アプレットのpaintメソッドについてお聞きしたいです。
コード public void paint(Graphics g){ for(int i = 0; i < 4; i++){ g.setFont(new Font(null, Font.PLAIN, 14)); g.drawString(ap2.player_main1[i].getName(), 80+150*i, 140); } } ``` ```ここに言語を入力 コード public void paint(Graphics g){ for(int i = 0; i < 4; i++){ g.setFont(new Font(null, Font.PLAIN, 14)); g.drawString(ap2.player_main1[3].getName(), 80+150*i, 190); g.drawString(ap2.player_main1[2].getName(), 80+150*i, 230); } }
私が今作っているプログラムの一部に上の方のプログラムがあるのですが、これだとi=0のときのものしか表示されなくて、i=1,2,3は表示されません。
次に先ほどのプログラムの部分を下のプログラムに置き換えるとちゃんと表示されます。
何が原因でこのようになるのでしょうか?
よろしくお願いします。
p2.player_main1の内容を教えてください。
public class ap2 extends Panel implements ActionListener{
APP parent2;
static Judge judge_main = new Judge();
static Player player_main1[] = new Player[ap1.player];
・
・
・
public ap2(APP app){
・
・
・
}
public void init(){
repaint(); //paintメソッドを再描画
}
public void paint(Graphics g){
for(int i = 0; i < ap1.player_PC; i++){
player_main1[i] = new Player("プレイヤー" + (i+1));
g.setFont(new Font(null, Font.PLAIN, 14));
g.drawString(player_main1[i].getName(), 80+150*i, 140);
}
・
・
・
}
public class Player {
private String name; //プレイヤーの名前
//------------------------------------------------------------------------------------
//手を出すメソッド
int hand; //出す手
static final int gu = 0, tyoki = 1, pa = 2; //0ならグー、1ならチョキ、2ならパー
public int Player_NPC_hand(){
Random rnd = new Random();
int run = rnd.nextInt(3);
if(run == 0){ //0ならグー
hand = gu;
}
else if(run == 1){ //1ならチョキ
hand = tyoki;
}
else{ //2(その他)ならパー
hand = pa;
return hand;
}
for(int i = ap1.player_PC; i < ap1.player; i++){
player_main1[i] = new Player("コンピュータ" + (i+1-ap1.player_PC));
g.setFont(new Font(null, Font.PLAIN, 14));
g.drawString(player_main1[i].getName(), 80+150*i, 140);
}
static int player_PC; //プレイヤー人数
static int player_NPC; //コンピュータ人数
static int player; //総プレイヤー人数
この3つはap1で定義しています。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー