如果您无法下载资料,请参考说明:
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.
王子****青蛙
实名认证
内容提供者
最近下载