Missile.java
上传用户:kikomiki
上传日期:2021-10-31
资源大小:373k
文件大小:1k
源码类别:

游戏

开发平台:

Java

  1. import java.awt.*;
  2. public class Missile {
  3. public static final int XSTEP=10;
  4. public static final int YSTEP=10;
  5. int x,y;
  6. public static final int WIDTH = 10;
  7.     public static final int HEITH =10;
  8. Tank.Direction dir;
  9. TankClient tc;
  10. private boolean isLive = true;
  11. public Missile(int x, int y, Tank.Direction dir) {
  12. this.x = x;
  13. this.y = y;
  14. this.dir = dir;
  15. }
  16. public Missile(int x, int y ,Tank.Direction dir, TankClient tc){
  17. this(x,y,dir);
  18. this.tc=tc ;
  19. }
  20. public void draw(Graphics g){
  21. Color c = g.getColor();
  22. g.setColor(Color.BLUE);
  23. g.fillOval(x, y, WIDTH,HEITH);
  24. g.setColor(c);
  25. move();
  26. }
  27. private void move() {
  28. switch(dir){
  29.  case L:
  30.  x-=XSTEP;
  31.  break;
  32.  case LU:
  33.  x-=XSTEP;
  34.  y-=YSTEP;
  35.  break;
  36.  case U:
  37.  y-=YSTEP;
  38.  break;
  39.  case RU:
  40.  x+=XSTEP;
  41.  y-=YSTEP;
  42.  break;
  43.  case R:
  44.  x+=YSTEP;
  45.  break;
  46.  case RD:
  47.  x+=XSTEP;
  48.  y+=YSTEP;
  49.  break;
  50.  case D:
  51.  y+=YSTEP;
  52.  break;
  53.  case LD:
  54.  x-=XSTEP;
  55.  y+=YSTEP;
  56.  break;
  57.  case STOP:
  58.  break;
  59. }
  60. if(x<0||y<0||x>TankClient.GAME_WIDTH||y>TankClient.GAME_HEITH){
  61. isLive= false;
  62. tc.Missiles.remove(this);
  63. }
  64. }
  65. public boolean isLive() {
  66. return isLive;
  67. }
  68. }