预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

PAGE\*MERGEFORMAT8 importjava.awt.Color; importjava.awt.Frame; importjava.awt.Graphics; importjava.awt.Image; importjava.awt.event.KeyAdapter; importjava.awt.event.KeyEvent; importjava.awt.event.WindowAdapter; importjava.awt.event.WindowEvent; importjava.util.ArrayList; importjava.util.List; publicclassTankClientextendsFrame{ publicstaticfinalintGAME_WIDTH=800; publicstaticfinalintGAME_HEIGHT=600; TankmyTank=newTank(50,50,true,Tank.Direction.STOP,this); List<Missile>missiles=newArrayList<Missile>(); List<Explode>explodes=newArrayList<Explode>(); List<Tank>tanks=newArrayList<Tank>(); ImageoffScreenImage=null; @Override publicvoidpaint(Graphicsg){ g.drawString("missilescount:"+missiles.size(),10,50); g.drawString("explodescount:"+explodes.size(),10,70); g.drawString("tankscount:"+tanks.size(),10,90); for(inti=0;i<missiles.size();i++){ Missilem=missiles.get(i); m.hitTanks(tanks); m.draw(g); } for(inti=0;i<explodes.size();i++){ Explodee=explodes.get(i); e.draw(g); } for(inti=0;i<tanks.size();i++){ Tankt=tanks.get(i); t.draw(g); } myTank.draw(g); } @Override publicvoidupdate(Graphicsg){ if(offScreenImage==null){ offScreenImage=this.createImage(800,600); } GraphicsgOffScreen=offScreenImage.getGraphics(); Colorc=gOffScreen.getColor(); gOffScreen.setColor(Color.GREEN); gOffScreen.fillRect(0,0,GAME_WIDTH,GAME_HEIGHT); gOffScreen.setColor(c); paint(gOffScreen); g.drawImage(offScreenImage,0,0,null); } publicvoidlaunchFrame(){ //生产多少地方坦克 for(inti=0;i<5;i++){ tanks.add(newTank(50+40*(i+1),50,false,Tank.Direction.D,this)); } this.setLocation(400,300); this.setSize(GAME_WIDTH,GAME_HEIGHT); this.setTitle("TankWar"); this.addWindowListener(newWindowAdapter(){ @Override publicvoidwindowClosing(WindowEvente){ System.exit(0); } }); this.setResizable(false); this.setBackground(Color.GREEN); this.addKeyListener(newKeyMonitor()); this.