def __init__(self, settings): GameState.__init__(self, settings) self.selected_color = SELECTED_COLOR self.unselected_color = UNSELECTED_COLOR self.background_color = BACKGROUND_COLOR self.title_image = self.get_title_text_image(options.title(), options.standard_size()[0] - 2*MENU_ICING) self.option_names = ["start full run", "grind single level", "edit levels", "select level pack", "settings"] self.option_actions = [ lambda: self._launch_full_run_mode(), lambda: self.state_manager.set_current_state(GameStateManager.SELECT_SINGLE_LEVEL_STATE), lambda: None, lambda: None, lambda: None ] self.selected_index = 0 self.option_text_images = [] for i in range(0, len(self.option_names)): name = self.option_names[i] c = self.unselected_color if i != self.selected_index else self.selected_color self.option_text_images.append(NORMAL_TEXT_FONT.render(name, True, c))
import blocks, actors import drawing import gamestate import utilities import options import timer from keybindings import KeyBindings, TAKE_SCREENSHOT from gamestate import GameStateManager from menustate import MainMenuState, SelectSingleLevelState from playingstate import PlayingState, PlatformerInstance from editingstate import EditingState settings = options.Settings() pygame.display.set_caption(options.title()) gamestate_manager = GameStateManager(settings) platformer_inst = PlatformerInstance(settings) playing = PlayingState(settings, platformer_inst) editing = EditingState(settings, platformer_inst) main_menu = MainMenuState(settings) single_level = SelectSingleLevelState(settings) gamestate_manager.set_state(GameStateManager.PLAYING_STATE, playing) gamestate_manager.set_state(GameStateManager.EDITING_STATE, editing) gamestate_manager.set_state(GameStateManager.MAIN_MENU_STATE, main_menu) gamestate_manager.set_state(GameStateManager.SELECT_SINGLE_LEVEL_STATE, single_level) gamestate_manager.set_current_state(GameStateManager.MAIN_MENU_STATE)