Modeパターンについて。
マルチスレッドに対応した、Stateパターン
ゲーム開発における各画面を表現するのに最適である。
別のModeに切り替わる時、requestでデータを渡すことが可能。またsessionとして共有することもできる。
毎フレーム実行する処理はUpdateメソッド内で行う。
クラス図
クラス図ダウンロード
サンプル
package test_a;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.amaraimusi.zss_lib.CalcUtil;
public class Test014Mode {
public static void main(String[] args) {
CalcUtil.init();//汎用計算クラス
System.out.println("テスト開始");
ModeBase nekoMode=new NekoMode();
ModeBase yagiMode=new YagiMode();
ModeBase butaMode=new ButaMode();
List modeList=new ArrayList();
modeList.add(nekoMode);
modeList.add(yagiMode);
modeList.add(butaMode);
ModeControl modeCon=new ModeControl();
modeCon.Init(modeList, 0);
//擬似スレッド
for(int i=0;i<10;i++){
modeCon.Update();
}
System.out.println("テスト終了");
}
}
class ModeControl{
private ModeBase m_actMode;//現在モードクラス。
private List m_modeList;//モードリスト
public void Init(List modeList,int iniModeIndex){
for(ModeBase mode:modeList){
mode.setModeControl(this);
}
//m_actModeIndex=iniModeIndex;
m_modeList=modeList;
this.changeMode(iniModeIndex, null);
}
public void Update(){
m_actMode.Update();
}
public void changeMode(int modeIndex,Map
サンプルダウンロード(Test014Mode.java)