0
/**
 * 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
}

これは、私が設計しているハングマン ゲーム用に作成した列挙型です。ただし、私は列挙型は初めてですが、誰かがゲームの状態に列挙型を使用することを提案しました。ただし、プレーヤーが現在どの状態にあるかを追跡する方法がわかりません。誰かがどの状態が選択されているかを追跡する方法を説明できますか?

4

3 に答える 3

1

Enum の Java Docに従って:

valueOf(クラス列挙型、文字列名)

指定された名前を持つ指定された列挙型の列挙定数を返します。

于 2013-03-08T05:29:41.853 に答える
1

States現在の状態でタイプの変数を保持するだけです。

class Player {

 States currentState=States.STARTMENU;

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

 void playMenu() {
  if (currentState==States.PLAYMENU) {...}
 }
}
于 2013-03-08T05:30:45.603 に答える
1

列挙型の変数を使用します。次に例を示します。

State var;
var = State.PLAYER_TWO_MENU;
于 2013-03-08T05:31:06.500 に答える