下面是主要程序代码:
class MyPanel extends JPanel implements KeyListener{
//定义一个我的坦克
Hero hero = null;
//定义敌人的坦克
Vector<EnemyTank> ets = new Vector<EnemyTank>();
int enSize = 3;
public MyPanel(){
//初始化我的坦克
hero = new Hero(100,100);
//初始化敌人坦克
for(int i=0;i<enSize;i++)
{
//创建一辆敌人的坦克
EnemyTank et = new EnemyTank((i+1)*50, 0);
//et.setColor(0);
et.setDirect(2);
//创建完后加入
ets.add(et);
//System.out.println("坦克的位置:"+((i+1)*100));
}
}
//重写Paint
public void paint(Graphics g){
super.paint(g);
//画出坦克
g.fillRect(0, 0, 400, 300);
//画出自己的坦克
this.drawTank(hero.getX(), hero.getY(), g, this.hero.direct, 1);
//画出敌人的坦克
for(int i=0;i<ets.size();i++)
{
this.drawTank(ets.get(i).getX(), ets.get(i).getY(), g, ets.get(i).getDirect(), 0);
//正确的结果是(50,0),(100,0),(150,0)
System.out.println("坦克位置:"+ets.get(i).getX()+","+ets.get(i).getY());
}
}
我创建了三个敌人坦克,为什么只出现第一个,而且输出的坐标也不对!!!正确的应该是(50,0),(100,0),(150,0)才对呀!!!
class MyPanel extends JPanel implements KeyListener{
//定义一个我的坦克
Hero hero = null;
//定义敌人的坦克
Vector<EnemyTank> ets = new Vector<EnemyTank>();
int enSize = 3;
public MyPanel(){
//初始化我的坦克
hero = new Hero(100,100);
//初始化敌人坦克
for(int i=0;i<enSize;i++)
{
//创建一辆敌人的坦克
EnemyTank et = new EnemyTank((i+1)*50, 0);
//et.setColor(0);
et.setDirect(2);
//创建完后加入
ets.add(et);
//System.out.println("坦克的位置:"+((i+1)*100));
}
}
//重写Paint
public void paint(Graphics g){
super.paint(g);
//画出坦克
g.fillRect(0, 0, 400, 300);
//画出自己的坦克
this.drawTank(hero.getX(), hero.getY(), g, this.hero.direct, 1);
//画出敌人的坦克
for(int i=0;i<ets.size();i++)
{
this.drawTank(ets.get(i).getX(), ets.get(i).getY(), g, ets.get(i).getDirect(), 0);
//正确的结果是(50,0),(100,0),(150,0)
System.out.println("坦克位置:"+ets.get(i).getX()+","+ets.get(i).getY());
}
}
我创建了三个敌人坦克,为什么只出现第一个,而且输出的坐标也不对!!!正确的应该是(50,0),(100,0),(150,0)才对呀!!!