跟踪选择哪个枚举?

时间:2013-03-08 05:27:53

标签: java enums

/**
 * All the states in the game.
 */
public enum State {
    START_MENU,
    PLAYER_ONE_MENU,
    PLAYER_ONE_CATEGORY,
    PLAYER_TWO_MENU,
    PLAYER_TWO_CATEGORY,
    WIN_SCREEN,
    LOSE_SCREEN,
    PLAY_SCREEN
}

这是我为我正在设计的刽子手游戏制作的枚举。但是我不熟悉枚举,但是有人建议我使用枚举游戏状态。但是我不知道如何跟踪玩家当前所处的状态。有人可以解释一种跟踪选择状态的方法吗?

3 个答案:

答案 0 :(得分:1)

根据Java Doc for Enum

  

valueOf(类enumType,String name)

     

返回具有指定名称的指定枚举类型的枚举常量。

答案 1 :(得分:1)

只需将States类型的变量保留为当前状态。

class Player {

 States currentState=States.STARTMENU;

 void doSomething() {
  switch (currentState) {
   case STARTMENU:...;
   case PLAYERONEMENU:...;
   //etc
  }
 }

 void playMenu() {
  if (currentState==States.PLAYMENU) {...}
 }
}

答案 2 :(得分:1)

使用具有枚举类型的变量,例如:

State var;
var = State.PLAYER_TWO_MENU;