Java大作业报告(截止5月20日)
super.paint(g); //画一个活动区域
g.drawImage(imagebg, 0, 0, 400, 300,this); if(hero.isLive == true){ //画我的坦克
this.drawTank(hero.getX(), hero.getY(), g, this.hero.getDirect(), this.hero.getColor()); }
//从ss中取出每颗子弹,并绘制
for(int i = 0 ; i < this.hero.ss.size() ; i++){ Shot myShot = this.hero.ss.get(i); //画一颗子弹,要先判断是否为空,因为坦克刚创建的时候,没有按J的时候,子弹是空的,这个时候不能画,要不然会异常
if(myShot!=null&&myShot.isLive == true){ g.draw3DRect(myShot.x, myShot.y, 1, 1, false); }
//判断子弹是否死亡,如果死亡,就从Vocetor中移除
Java大作业报告(截止5月20日)
if(myShot.isLive == false){ hero.ss.remove(myShot); } }
//画出敌人的坦克
for(int i = 0 ;i this.drawTank(et.getX(), et.getY(), g, et.getDirect(), et.getColor()); //画出敌人的子弹 for(int j = 0 ; j Shot enemyShot = et.ss.get(j); //开始画 if(enemyShot.isLive){ g.draw3DRect(enemyShot.x, enemyShot.y, 1, 1, false); }else{ //如果子弹死亡,就把子弹移除 et.ss.remove(enemyShot); Java大作业报告(截止5月20日) } } } } //画出炸弹 for(int i = 0 ; i < bombs.size(); i++){ //取出炸弹 Bomb b = bombs.get(i); //画炸弹。根据不同的生命值爆炸不同的大小 if(b.life>6){ g.drawImage(image1, b.x, b.y, 30, 30,this); }else if(b.life>3){ g.drawImage(image2, b.x, b.y, 15, 15,this); }else{ g.drawImage(image3, b.x, b.y, 5, 5,this); Java大作业报告(截止5月20日) } //减小炸弹的生命值 b.lifeDown(); //如果炸弹死亡,就移除数组 if(b.life == 0){ bombs.remove(b); } } } //判断敌人是否击中我 public void hitMe(){ //取出每一个敌人 for(int i = 0 ; i < this.ets.size() ; i++){ //取出坦克 EnemyTank et = ets.get(i); //取出每一辆坦克的子弹 for(int j = 0 ; j < et.ss.size() ; j++){ //取出子弹 Shot enemyShot = et.ss.get(j); this.hitTank(enemyShot, hero); } Java大作业报告(截止5月20日) } } //判断我的子弹是否击中敌人的坦克 public void hitEnemyTank(){ //判断是否击中 for(int i = 0 ; i < hero.ss.size() ; i++){ //取出子弹 Shot myShot = hero.ss.get(i); //判断子弹是否还活着 if(myShot.isLive){ //遍历敌人坦克,判断子弹和坦克坐标 for(int j = 0 ; j EnemyTank et = ets.get(j); if(et.isLive){ this.hitTank(myShot, et); } } } } }