それで、私はこのコードに出くわし、初心者であるため、コードを本当に理解していませんでした。誰かが私にコードを説明できるかどうか疑問に思いました。ありがとう!
private static final EnumMap<State, IRenderer> RENDERERS_MAP;
static {
RENDERERS_MAP= new EnumMap<State, IRenderer>(State.class);
for (State state : State.values()) {
RENDERERS_MAP.put(state, getRender());
}
}
初心者として「<>」や「:」を使ったことがないので、説明が必要なのは主にこのコード^コードです。また、EnumMapが何であるかわかりません。好ましくは、これは完全に詳細に説明することができる。IRendererとは何ですか?
編集: 私はまた、<>と:が呼ばれるものが欲しいので、インターネットでそれを検索してそれらを読むことができます。リンクも大歓迎です:)
void render() {
Renderer currentRenderer = RENDERERS_MAP.get(currentState);
if (ren != null) {
currentRenderer.render();
}
}
これは、コードを画面にレンダリングすると思うコードの一部です。
public enum State {
START_MENU() {
@Override
public Renderer getRenderer() {
return new StartMenuRenderer();
}
},
PLAYER_ONE_MENU() {
@Override
public Renderer getRenderer() {
return new PlayerOneRenderer();
}
},
PLAYER_TWO_MENU() {
@Override
public Renderer getRenderer() {
return new PlayerTwoRenderer();
}
},
WIN_SCREEN() {
@Override
public Renderer getRenderer() {
return null; //TODO: implement body
}
},
LOSE_SCREEN() {
@Override
public Renderer getRenderer() {
return null; //TODO: implement body
}
},
PLAY_SCREEN() {
@Override
public Renderer getRenderer() {
return null; //TODO: implement body
}
};
public abstract Renderer getRenderer();
}
これは、ゲーム内のすべての状態を整理するために使用されている列挙型の状態です。
たくさんのご協力とご説明ありがとうございました!