enum Direction {L, LU, U, RU, R, RD, D, LD, STOP};就这一行报错,我用的是Elipse3.2,JDK是1.6.0.11,与这个有关么?

解决方案 »

  1.   


    import java.awt.*;
    import java.awt.event.*;public class Tank {
    public static final int XSPEED = 5;
    public static final int YSPEED = 5;

    private int x, y;

    private boolean bL=false, bU=false, bR=false, bD = false;
    enum Direction {L, LU, U, RU, R, RD, D, LD, STOP};

    private Direction dir = Direction.STOP; public Tank(int x, int y) {
    this.x = x;
    this.y = y;
    }

    public void draw(Graphics g) {
    Color c = g.getColor();
    g.setColor(Color.RED);
    g.fillOval(x, y, 30, 30);
    g.setColor(c);

    move();
    }

    void move() {
    switch(dir) {
    case L:
    x -= XSPEED;
    break;
    case LU:
    x -= XSPEED;
    y -= YSPEED;
    break;
    case U:
    y -= YSPEED;
    break;
    case RU:
    x += XSPEED;
    y -= YSPEED;
    break;
    case R:
    x += XSPEED;
    break;
    case RD:
    x += XSPEED;
    y += YSPEED;
    break;
    case D:
    y += YSPEED;
    break;
    case LD:
    x -= XSPEED;
    y += YSPEED;
    break;
    case STOP:
    break;
    }
    }

    public void keyPressed(KeyEvent e) {
    int key = e.getKeyCode();
    switch(key) {
    case KeyEvent.VK_LEFT :
    bL = true;
    break;
    case KeyEvent.VK_UP :
    bU = true;
    break;
    case KeyEvent.VK_RIGHT :
    bR = true;
    break;
    case KeyEvent.VK_DOWN :
    bD = true;
    break;
    }
    locateDirection();
    }

    void locateDirection() {
    if(bL && !bU && !bR && !bD) dir = Direction.L;
    else if(bL && bU && !bR && !bD) dir = Direction.LU;
    else if(!bL && bU && !bR && !bD) dir = Direction.U;
    else if(!bL && bU && bR && !bD) dir = Direction.RU;
    else if(!bL && !bU && bR && !bD) dir = Direction.R;
    else if(!bL && !bU && bR && bD) dir = Direction.RD;
    else if(!bL && !bU && !bR && bD) dir = Direction.D;
    else if(bL && !bU && !bR && bD) dir = Direction.LD;
    else if(!bL && !bU && !bR && !bD) dir = Direction.STOP;
    }
    }
      

  2.   

    用的开发工具和jdk都是可以的,不是这个原因,应该是其他的问题
      

  3.   

    我这里没问题的啊。
    Eclipse设置有问题吧。
      

  4.   

    运行错误?我新建了Tank类,里面没错误
      

  5.   

    报的什么错误,写出来。我用JDK1.6编译是没有问题
      

  6.   

    JDK配置
    新建系统变量JAVA_HOME:C:\Program Files\Java\jdk1.5.0_06;  新建系统变量CLASSPATH:.;%JAVA_HOME%\lib;(注意:点号表示当前目录,不能省略)  在系统变量Path的值的前面加入以下内容:%JAVA_HOME%\bin;(注意:这里的分号不能省略)
      

  7.   

    坦克大战这个游戏我看过的 马老师那个是正确的,不知道为什么你的编译不对是不是类名的问题?
    其实 枚举类型可以单独放到一个类中(后面马老师是这样做的)
    新建里面除了可以建立项目和class外还有enum 建好这个 把
    enum Direction {L, LU, U, RU, R, RD, D, LD, STOP}; 
    加进去看看 这样做行不行
      

  8.   

    Eclipse 的编译级别可能设置成 1.4 了,改到 1.5 或者 1.6 就可以了。