Files
toads/modules/GameMenu.py
T
2023-01-16 19:13:47 +07:00

61 lines
2.7 KiB
Python

import pygame
import pygame_menu
import configparser
def set_difficulty(value: dict, _) -> None:
"""
Функция сохраняет сложность временную переменную
:param value: dict - тут лежит, всё что программа знает о сложности
:param _: мы не знаем, что это такое, если бы мы знали, что это такое, но мы не знаем, что это такое
:return: None
"""
global difficulty
difficulty = value[0][0]
def start_the_game() -> None:
"""
Функция запуска игры
:return: None
"""
config = configparser.ConfigParser() # создаю объект ConfigParser
config.read('conf/config.ini') # читаю файл
config['Settings']['difficulty'] = difficulty # перезаписываю сложность
with open('conf/config.ini', 'w') as configfile: # открываю файл для записи
config.write(configfile) # записываю
menu.toggle() # останавливаю меню
def test(value: dict, _):
print(value)
if value[0][0] == "Да":
test = "True"
else:
test = "False"
config = configparser.ConfigParser() # создаю объект ConfigParser
config.read('conf/config.ini') # читаю файл
config['Settings']['sound'] = test # перезаписываю сложность
with open('conf/config.ini', 'w') as configfile: # открываю файл для записи
config.write(configfile) # записываю
difficulty = "Простая" # временная переменная для сложности
pygame.init() # запускаю pygame
surface = pygame.display.set_mode((600, 400)) # создаю полотно
mytheme = pygame_menu.themes.THEME_DARK.copy() # создаю свою тему
mytheme.background_color = pygame_menu.baseimage.BaseImage(image_path='styles/background.jpg')
# натягиваю свой background
menu = pygame_menu.Menu('Welcome', 600, 400, theme=mytheme) # создаю меню
menu.add.label("Сложность") # добавляю label
menu.add.selector('', [('Простая', 1), ('Средняя', 2), ('Сложная', 3), ('Проигрывать весело', 4)],
onchange=set_difficulty) # добавляю selector с выбором сложности
menu.add.selector("музыка", [("Да", 1), ("Нет", 1)], onchange=test)
menu.add.button('Play', start_the_game) # добавляю кнопку начала игры
menu.add.button('Quit', pygame_menu.events.EXIT) # добавляю кнопку выхода
menu.mainloop(surface) # запускаю меню