def menu_game(): #Функция, извеждаща менюто pygame.mixer.init(44100, -16,2,2048) #Инициализация на миксера #Промяна на иконата на прозореца icon = pygame.image.load("files/Skins/Martincho.png") icon = pygame.transform.scale(icon, (32, 32)) pygame.display.set_icon(icon) pygame.mouse.set_visible(0) #В заглавната лента се извежда името на играта pygame.display.set_caption("RBP_V1.2") #Избор на размер на прозореца screen = pygame.display.set_mode(DISPLAY, pygame.FULLSCREEN) #Зареждане на фон на менюто background = pygame.image.load("files/Martinchovcite_menu1.png") background = pygame.transform.scale(background, (1450,805)) screen.blit(background, (-40, -60)) #Пояснителен текст над менюто font=pygame.font.Font('files/Fonts/Adventure Subtitles.ttf',30) menutext=font.render("MENU", 1,(145,183,220)) screen.blit(menutext, (720, 270)) menu = Menu() #Инициализация на менюто #Задаване на цветовете на фона, маркера и текста на менюто menu.set_colors((145,183,220),(36,36,168),(59,60,189)) #Задаване на размер на менюто menu.set_fontsize(30) #Задаване на позиция, където менюто ще бъде изведено menu.move_menu(85, 37) #Задаване на съдържанието menu.init(['Start','Help','About','Quit'], screen) #Изчертаване на менюто menu.draw() pygame.key.set_repeat(199,69) pygame.display.update() sound = pygame.mixer.Sound('files/Sounds/menu.wav') #Задаване на музика sound.set_volume(0.05) #Задаване на сила на звука while 1: sound.play() #Изпълнение на музиката for event in pygame.event.get(): #Проверка коя от опциите е избрана и изпълнение на съответната функция if event.type == KEYDOWN: if event.key == K_UP: menu.draw(-1) if event.key == K_DOWN: menu.draw(1) if event.key == K_RETURN: if menu.get_position() == 0: sound.stop() game('Level_1', 3) if menu.get_position() == 1: sound.stop() help() if menu.get_position() == 2: sound.stop() about() if menu.get_position() == 3: pygame.display.quit() sys.exit() if event.key == K_ESCAPE: pygame.display.quit() sys.exit() pygame.display.update() elif event.type == QUIT: pygame.display.quit() sys.exit() pygame.time.wait(8)
from state_machine import StateMachine from localmap import LocalMap from menu import Menu import pygame game = StateMachine(800, 600, 'Finn bardi') menu = Menu(['Start', 'Exit'], game._StateMachine__screen) menu.set_colors((255, 255, 255), (50, 50, 50), (0, 0, 0)) def start_game(self): level_one = LocalMap('1.bmp', game._StateMachine__screen) game.push(level_one) def stop_game(self): pygame.display.quit() sys.exit() commands = {} commands[0] = start_game commands[1] = stop_game menu.set_position_commands(commands) game.push(menu) menu._initial_draw() game.start()