要达到的目的是敌方坦克第一次生成5个坦克,当敌方坦克数量小于或等于3时,再增加5辆,直到把定义的坦克数全都显示完毕,以至于屏幕不会很拥挤。现在只能一下子实例化所有的坦克。求教方法,以下是部分相关代码。没有问题,现在就是想实现那个功能//主类
public static int enemyNum=11;List<Tank> enemyTanks =new CopyOnWriteArrayList<Tank>();//敌方坦克群for(int i=0;i<enemyNum;i++)
{
enemyTanks.add(new Tank(50+(i+1)*42+20,20 ,30,30, 100, false, this));
}for(Tank tank:enemyTanks)//敌方坦克绘制
{
tank.draw(g2);
}
//坦克类
public Tank(int x, int y,int tankw, int tankh,int life,boolean good,TankClient tc) {
super();//tank的构造方法,传递对象
this.x = x;
this.y = y;
this.tankw = tankw;
this.tankh = tankh;
this.life=life;
this.good=good;
this.tc=tc;
public void draw (Graphics g)//画出坦克
{
//坦克死亡就不用画了
if(!isLive)
{
if(!isGood())
{
tc.enemyTanks.remove(this);
return;
}
}
if(imageOne)
{
readImage("image/tankU.gif");
imageOne=false;
}
g.drawImage(image, x, y,tankw,tankh, tc.getPanel());
move();
}
public static int enemyNum=11;List<Tank> enemyTanks =new CopyOnWriteArrayList<Tank>();//敌方坦克群for(int i=0;i<enemyNum;i++)
{
enemyTanks.add(new Tank(50+(i+1)*42+20,20 ,30,30, 100, false, this));
}for(Tank tank:enemyTanks)//敌方坦克绘制
{
tank.draw(g2);
}
//坦克类
public Tank(int x, int y,int tankw, int tankh,int life,boolean good,TankClient tc) {
super();//tank的构造方法,传递对象
this.x = x;
this.y = y;
this.tankw = tankw;
this.tankh = tankh;
this.life=life;
this.good=good;
this.tc=tc;
public void draw (Graphics g)//画出坦克
{
//坦克死亡就不用画了
if(!isLive)
{
if(!isGood())
{
tc.enemyTanks.remove(this);
return;
}
}
if(imageOne)
{
readImage("image/tankU.gif");
imageOne=false;
}
g.drawImage(image, x, y,tankw,tankh, tc.getPanel());
move();
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货