package uk.co.flyingsquirrels;
import java.util.ArrayList;
import java.util.List;
import org.newdawn.slick.AppGameContainer;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.state.StateBasedGame;
import uk.co.flyingsquirrels.gamestates.ChooseVehicleGameState;
import uk.co.flyingsquirrels.gamestates.MainMenuGameState;
import uk.co.flyingsquirrels.gamestates.OptionsMenuGameState;
import uk.co.flyingsquirrels.gamestates.PlayingGameState;
import uk.co.flyingsquirrels.models.Glider;
import uk.co.flyingsquirrels.models.Vehicle;
public class AdAstra extends StateBasedGame {
// Display constants
public static final int DISPLAY_HEIGHT = 600;
public static final int DISPLAY_WIDTH = 800;
private static final List<Class<? extends Vehicle>> vehicleClasses = new ArrayList<Class<? extends Vehicle>>();
private static Class<? extends Vehicle> selectedVehicleClass;
public static void main(String[] args) {
AppGameContainer container;
try {
container = new AppGameContainer(new AdAstra());
container.setDisplayMode(DISPLAY_WIDTH, DISPLAY_HEIGHT, false);
container.start();
} catch (SlickException e) {
e.printStackTrace();
}
}
private AdAstra() {
super(AdAstra.class.getSimpleName());
populateVehicleList();
}
private void populateVehicleList() {
vehicleClasses.add(Glider.class);
selectedVehicleClass = vehicleClasses.get(0);
}
@Override
public void initStatesList(GameContainer container) throws SlickException {
addState(new MainMenuGameState());
addState(new PlayingGameState());
addState(new OptionsMenuGameState());
addState(new ChooseVehicleGameState());
}
public static List<Class<? extends Vehicle>> getVehicleClasses() {
return vehicleClasses;
}
public static void setSelectedVehicleClass(Class<? extends Vehicle> vehicleClass) {
selectedVehicleClass = vehicleClass;
}
public static Class<? extends Vehicle> getSelectedVehicleClass() {
return selectedVehicleClass;
}
}