package fight3D;
import java.awt.Color;
import framework.RWT.RWTFrame3D;
import framework.gameMain.BaseGame;
import framework.gameMain.AbstractGameState;
import framework.gameMain.IGameState;
public class Game extends BaseGame {
private int playerNum;
private int stage;
private int character[];
private int rank[];
private int tp[];
private int defeat[];
private int defeated[];
@Override
public RWTFrame3D createFrame3D() {
RWTFrame3D frame = new RWTFrame3D();
frame.setSize(720, 480);
frame.setBackground(Color.BLACK);
frame.setShadowCasting(true);
return frame;
}
@Override
public AbstractGameState getInitialGameState() {
// TODO Auto-generated method stub
// AbstractGameState state = new FightState(this);
AbstractGameState state = new CharacterSelectState(this);
return state;
}
public AbstractGameState changeNextGameState(){
IGameState lastGameState = getCurrentGameState();
AbstractGameState newGameState = null;
if (lastGameState instanceof CharacterSelectState) {
newGameState = new StageSelectState(this);
}
else if (lastGameState instanceof StageSelectState) {
newGameState = new FightState(this);
}
else if (lastGameState instanceof FightState) {
newGameState = new Ranking1State(this);
}
else if (lastGameState instanceof Ranking1State) {
newGameState = new Ranking2State(this);
}
else if (lastGameState instanceof Ranking2State) {
newGameState = new CharacterSelectState(this);
}
return newGameState;
}
public boolean canGoPrevGameState(){
if (getCurrentGameState() instanceof StageSelectState) {
return true;
}
return false;
}
public void setPlayerNum(int playerNum) {
this.playerNum = playerNum;
}
public int getPlayerNum() {
return playerNum;
}
public void setStage(int stage) {
this.stage = stage;
}
public int getStage() {
return stage;
}
public void setCharacter(int character[]) {
this.character = character;
}
public int[] getCharacter() {
return character;
}
public void setRank(int rank[]) {
this.rank = rank;
}
public int[] getRank() {
return rank;
}
public void setTp(int tp[]) {
this.tp = tp;
}
public int[] getTp() {
return tp;
}
public void setDefeat(int defeat[]) {
this.defeat = defeat;
}
public int[] getDefeat() {
return defeat;
}
public void setDefeated(int defeated[]) {
this.defeated = defeated;
}
public int[] getDefeated() {
return defeated;
}
}