傻大方


首页 > 学习 >

基于|基于java的游戏坦克大战论文( 七 )

傻大方摘要:【基于|基于java的游戏坦克大战论文( 七 )|java|游戏|坦克|大战|论文】for(int i=0; inodes.size(); i+) Node node=nodes.get(i); /创建一辆敌人的坦克对象 EnemyTank et=new EnemyTank(node.x,node.y); et.setDirect(node.direct); /将 MyPanel 的敌人坦克向量交给该...



按关键词阅读: java 基于 论文 大战 坦克 游戏


for(int i=0;
inodes.size();
i+) Node node=nodes.get(i);
/创建一辆敌人的坦克对象 EnemyTank et=new EnemyTank(node.x,node.y);
et.setDirect(node.direct);
/将 MyPanel 的敌人坦克向量交给该敌人坦克 et.setEts(ets);
/启动敌人的坦克 Thread t=new Thread 。

57、(et);
t.start();
/加入 ets.add(et);
/给敌人坦克添加一颗子弹 Shot s=new Shot(et.x+18,et.y+60,2);
/加入给敌人坦克 et.ss.add(s);
/启动敌人坦克子弹线程 Thread t2=new Thread(s);
t2.start();
/初始化图片 image1=Toolkit.getDefaultToolkit().getImage(bomb_1.gif);
image2=Toolkit.getDefaultToolkit().getImage(bomb_2.gif);
image3=Toolkit.getDefaul 。

58、tToolkit().getImage(bomb_3.gif);
/播放开战声音 AePlayWave apw=new AePlayWave(111.wav);
apw.start();
public void showInfo(Graphics g) /画出提示信息坦克(不参与战斗) this.drawTank(100, 620, g, 0, 1);
g.setColor(Color.black);
g.drawString(Recorder.getEnNum()+, 150, 650);
this.drawTank(300, 620, g, 0, 0);
g.setColor(Color. 。

59、black);
g.drawString(Recorder.getMyLife()+, 350, 650);
/画出玩家总成绩 g.drawString(玩家总成绩, 910, 20);
this.drawTank(910, 40, g, 0, 1);
g.setColor(Color.black);
g.drawString(Recorder.getAllEnNum()+, 960, 80);
/重写 paint public void paint(Graphics g) super.paint(g);
g.fillRect(0, 0, 900, 600);
/画出提示信息坦克 this.s 。

60、howInfo(g);
/画出我的坦克(到时再封装成一个函数) /坦克 /int x=hero.getX();
/int y=hero.getY();
/g.setColor(Color.red);
if(hero.isLive) this.drawTank(hero.getX(), hero.getY(), g, hero.getDirect(), 0);
/从 ss 中取出每颗子弹 , 并画出 for(int i=0;
ihero.ss.size();
i+) Shot myShot=hero.ss.get(i);
/画出子弹 if(myShot!=null if(myShot.isLive=fa 。

61、lse) /从 ss 中删除掉该子弹 hero.ss.remove(myShot);
/画出炸弹 for(int i=0;
i20) g.drawImage(image1, b.x,b.y, 40, 40, this);
else if(b.life10) g.drawImage(image2, b.x,b.y, 40, 40, this);
else g.drawImage(image3, b.x,b.y, 40, 40, this);
/让 b 的生命值减小 b.lifeDown();
/如果炸弹生命值为 0.就把该炸弹从 bombs 向量中去掉 if(b.life=0) bombs.rem 。

62、ove(b);
/画出敌人的坦克 for(int i=0;
iets.size();
i+) EnemyTank et=ets.get(i);
if(et.isLive=true) this.drawTank(ets.get(i).getX(), ets.get(i).getY(), g, ets.get(i).getDirect(), 1);
/再画出敌人的子弹 for(int j=0;
jet.x /坦克死亡 et.isLive=false;
bl=true;
/创建一颗炸弹 ,Bomb b=new Bomb(et.x-10,et.y+14);
/放入 Vector bombs.add(b);


63、break;
return bl;
/判断我的子弹是否击中敌人坦克 public void hitEnemyTank() for(int i=0;
ihero.ss.size();
i+) /取出子弹 Shot myShot=hero.ss.get(i);
/判断子弹是否有效(是否活着) if(myShot.isLive=true) /取出每个坦克 。
与他判断 for(int j=0;
jets.size();
j+) /取出坦克 EnemyTank et=ets.get(j);
if(et.isLive=true) if(this.hitTank(myShot, et) Recorder.reduce 。

64、EnNum();
Recorder.addEnNum();
/判断敌人子弹是否击中我的坦克 public void hitHeroTank() /取出每一个敌人的坦克 for(int i=0;
iets.size();
i+) /取出坦克 EnemyTank et=ets.get(i);
/取出每一颗子弹 for(int j=0;
jet.ss.size();
j+) /取出子弹 Shot enemyShot=et.ss.get(j);
if(hero.isLive) if(this.hitTank(enemyShot, hero) /画坦克的函数(扩展) public void drawTank(i 。

65、nt x,int y,Graphics g,int direct,int type) /判断是什么类型的坦克 switch(type) case 0: g.setColor(Color.red);
break;
case 1: g.setColor(Color.yellow);
break;
/判断方向 /向上 if(direct=0) g.fill3DRect(x, y, 10, 60,false);
g.fill3DRect(x+10, y+10, 20, 40, false);
g.fill3DRect(x+30, y, 10, 60, false);
g.fillOval(x+10,。

66、y+20, 18, 20);
g.fillRect(x+18, y, 3, 30);
else if(direct=1)/向右 g.fill3DRect(x-10, y+14, 60, 10,false);
g.fill3DRect(x-10+10, y+14+10, 40, 20, false);
g.fill3DRect(x-10, y+14+30, 60, 10, false);
g.fillOval(x-10+20, y+14+9, 18, 20);
g.fillRect(x-10+30, y+14+18, 30, 3);
else if(direct=2)/向下 g.fill3DRect(x, y, 10, 60,false);
g.fill3DRect(x+10, y+10, 20, 40, false);
g.fill3DRect(x+30, y, 10, 60, false);
g.fillOval(x+10, y+20, 18, 20);
g.fillRect(x+18, y+30, 3, 30);
else if(direct=3)/向左 g.fill3DRect 。


稿源:(未知)

【傻大方】网址:/a/2021/0621/0022536797.html

标题:基于|基于java的游戏坦克大战论文( 七 )


上一篇:幼儿园大班|幼儿园大班教学的总结范文

下一篇:鲁科版|鲁科版高中化学化学4(选修)第三章试题