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; } }