首页 新闻 会员 周边 捐助

Java坦克大战第一个坦克不爆炸问题

0
悬赏园豆:200 [待解决问题]

网上查找有的答案说,因为第一个爆炸只是将爆炸实例装进了Vector,并没有到paint中去画,我就很奇怪,我是把爆炸装进线程中的,按理说爆炸装进Vector时 paint中的爆炸语句应该起作用的。总之我就是没懂为什么第一个坦克不爆炸。。。
public void paint(Graphics g)
{
super.paint(g);

    for(int i=0;i<bzjh.size();i++)
    {
        Baozha bz=bzjh.get(i);
        if(bz.shengcunqi>6)
        {
            g.drawImage(tp1, bz.x, bz.y, 30,30,this);
        }
        else if(bz.shengcunqi>3)
        {
            g.drawImage(tp2, bz.x, bz.y, 30, 30, this);
        }else{
            g.drawImage(tp3, bz.x, bz.y, 30, 30, this);
        }
        bz.suqsd();
        if(bz.shengcunqi==0)
        {
            bzjh.remove(bz);//清除内存
        }
    }
}

下面的代码时添加爆炸代码,在线程中调用该方法
public boolean jzdf(Zidan zidan,Tank dt)
{

    switch(dt.fangxiang)
    {
    case 0:
    case 2:
        if(zidan.x>dt.x&&zidan.x<dt.x+20&&zidan.y>dt.y&&zidan.y<dt.y+30)//比较坐标
        {
            zidan.pp=false;
            dt.shengming=false;
            dtk.remove(dt);
            Baozha bz=new Baozha(dt.x,dt.y);
            bzjh.add(bz);
        }
        break;
JLU_Dragon的主页 JLU_Dragon | 初学一级 | 园豆:4
提问于:2019-12-13 08:44
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册