def enable_main_menu(self): menu = Menu('Pang') menu.add_option('New Game', self.start_game) menu.add_option('Load Game', self.enable_load_menu) menu.add_option('Save Game', self.enable_save_menu) menu.add_option('High Scores', self.enable_score_board) menu.add_option('Exit', self.close) self.states.push(menu)
def __init__(self): self.menu = Menu(y_position=580) self.music_path = 'assets/music/Menu.wav' self.adding_score = False self.records = [] self.load_scores() self.current_score = 0 self.current_level = 0 self.current_name = '' self.current_id = 0 self.font = pygame.font.SysFont(None, MENU_LABEL_FONT_SIZE) self.text_cache = {}
def enable_load_menu(self): load_menu = Menu('Load Game') for load_index in range(1, 11): file_path = 'assets/save/' + str(load_index) + '.save' label = str(load_index) if os.path.isfile(file_path): file = open(file_path, 'r') lines = file.readlines() lines = list(map(str.rstrip, lines)) match = re.match(r'level (\d+)', lines[0]) level_id = list(map(int, match.groups()))[0] date = datetime.fromtimestamp(os.path.getmtime(file_path)) label += ' - ' + date.strftime('%H:%M:%S %d.%m.%Y') label += ' - level ' + str(level_id) else: label += ' - empty' if os.path.isfile(file_path): load_menu.add_option(label, self.load_game, load_index) else: load_menu.add_option(label, None) load_menu.add_option('Back', self.states.pop) self.states.push(load_menu)