import models.IModel;
import models.JumpGameModel;
import views.IView;
import views.PlayerRenderer;
import views.TileMapRenderer;
import java.util.ArrayList;
public class JumpGame {
//---------------------------------------------------------------
//---------------------------------------------------------------
// new
private ArrayList<IView> views = new ArrayList<>();
private IModel model = new JumpGameModel();
//---------------------------------------------------------------
//---------------------------------------------------------------
//
public void gravity(double y) {
JumpGameModel jumpGameModel = (JumpGameModel) model;
jumpGameModel.updateGravity(y);
}
//---------------------------------------------------------------
// 初期化
public void init() {
// view
views.add(new TileMapRenderer());
views.add(new PlayerRenderer("resources/chicken.png"));
}
//---------------------------------------------------------------
// 更新処理
public void update() {
JumpGameModel jumpGameModel = (JumpGameModel) model;
// Viewの更新
for (IView view : views) {
view.update(model);
view.display();
}
// ステージが排出する地形データを切り替える
if (jumpGameModel.isTimingOfChangeTile()) {
jumpGameModel.changeTileType();
TileMapRenderer tileMapRenderer = (TileMapRenderer) views.get(0);
tileMapRenderer.createTile(jumpGameModel.getTileType());
}
// Modelの更新
//
// Space キーのインプット
//
// マイフレーム更新
gravity(-256); //重力
}
//---------------------------------------------------------------
// デストラクタのような処理
public void delete() {
for (IView view : views) view.delete();
}
//---------------------------------------------------------------
}