您当前的位置: 首页 > 

郭梧悠

暂无认证

  • 4浏览

    0关注

    402博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

图片版坦克大战其他相关的 类(三)

郭梧悠 发布时间:2012-02-22 22:26:11 ,浏览量:4

package imageban; /**  * 该枚举类定义了坦克,子弹运动的方向  * @author dell  *  */ public enum Direction { /* * 从左到右一次是 * 左 ,上,,右,,下,,停止 */ L,  U, R, D,  STOP     

}

***************************************************************

package imageban; import java.util.ArrayList; /**  * 这是敌方坦克基地,里面有有五个坦克  *   * @author dell  *   */ public class EnemysBase { // 装有五个坦克的链表 ArrayList enemy = new ArrayList(); // 提供一个坦克基地 public static EnemysBase enemyBase = new EnemysBase(); /** * 往链表里添加五个坦克 */ public void addEnemy() { for (int i = 0; i < 4; i++) { enemy.add(new Enemy("images/enemy0.gif",50 + 350*i , 10)); } } /** * 根据索引获得坦克 *  * @param i要获得的那个坦克 * @return Enemy 坦克 */ public Enemy getEnemy(int i) { return enemy.get(i); } /* * 在初始化的时候就添加了五个坦克 */ private EnemysBase() { addEnemy(); } /*** * 获得坦克基地里坦克的数量 *  * @return int */ public int size() { return enemy.size(); } /* * 获得坦克基地 */ public static EnemysBase getEnemyBase() { return enemyBase; } /* * 如果坦克死了,就删除该坦克 */ public void remove(int i) { enemy.remove(i); } }

***************************************************************

package imageban; import java.awt.Color; import java.awt.Graphics; import java.io.IOException; import tankImage.Explosion; /**  * 此类的作用是当坦克被击中时发生爆炸的效果  *   * @author Arthur  *   */ public class Explode extends Tank{ Explosion explosion = new Explosion("images/blast",4);     public Explode(String imagePath,int x,int y,int n){      super(imagePath,x,y);     }      public Explosion getExplosion() { return explosion; } public void setExplosion(Explosion explosion) { this.explosion = explosion; } int step = 0;// 储存数组的下标 // 画爆炸的园 public void draw(Graphics g) { if (step == explosion.size()) { this.setAlive(false); step = 0; return; } Color c = g.getColor(); g.setColor(Color.yellow); g.drawImage(explosion.getImage(step), this.getX(), this.getY(), null); g.setColor(c); step++; } @Override public void fire(Graphics g) { // TODO Auto-generated method stub } @Override public void loadMissiles() { // TODO Auto-generated method stub } @Override public void locateDirection() throws IOException { // TODO Auto-generated method stub } }

******************************************************************************

package imageban; import java.awt.Graphics; import java.awt.Rectangle; /**  * 定义了绘画矩形的方法接口和获得矩形的方法接口  * @author dell  *  */ public interface RectangleInter { public Rectangle getRect();  public void draw(Graphics g); public void move(); }

**********************************************************

package imageban; import java.awt.*; import java.awt.event.*; import music.Music; /**  * 战场类  * @author dell  *  */ public class WarField extends Frame { /** * T */ public static final int  WIDTH =1200,HEIGHT=720;//战场的高度和宽度 private static final long serialVersionUID = 1L; Image offScreenImage = null; EnemysBase enemybase = EnemysBase.getEnemyBase();//坦克基地 Music music = new Music(); public void init() { this.setTitle("TankWar"); this.setSize(WIDTH, HEIGHT); this.setResizable(false);//设置为不可改变大小 this.setVisible(true); music.playSound("images/start.wav",3) ;//播放背景音乐 /** * 定义一个关闭窗口的方法 */ this.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); this.addKeyListener(new Key());//谈价键盘监听器 this.setBackground(Color.GREEN); new Thread(new PaintThread()).start(); } public void update(Graphics g) { if (offScreenImage == null) { offScreenImage = this.createImage(WIDTH, HEIGHT); } Graphics gOffScreen = offScreenImage.getGraphics(); Color c = gOffScreen.getColor(); gOffScreen.setColor(Color.black); gOffScreen.fillRect(0, 0, WIDTH, HEIGHT); gOffScreen.setColor(c); paint(gOffScreen); g.drawImage(offScreenImage, 0, 0, null); } /* * 绘画坦克的最主要的方法(non-Javadoc) * @see java.awt.Container#paint(java.awt.Graphics) */ @Override public void paint(Graphics g) { Color color = g.getColor(); MyTank.myTank.draw(g);//绘画我方坦克,即为我方坦克登陆战场 g.setColor(color); //敌方军团来啦 for(int i=0;i

关注
打赏
1663674776
查看更多评论
立即登录/注册

微信扫码登录

0.0654s