Pygame menu вопрос про выбор сложность

Подскажите пожалуйста, что мне нужно прописать в функцию set_difficulty, чтобы при выборе сложности (например, Hard) значение некоторой переменной difficult принимало значение 1, а при других уровнях сложности — другие значения. Не смог найти примеров и пояснений в интернете

def set_difficulty(value, difficulty):
    # Do the job here !
    pass

def start_the_game():
    # Do the job here !
    pass

menu = pygame_menu.Menu(300, 400, 'Welcome',
                       theme=pygame_menu.themes.THEME_BLUE)

menu.add_text_input('Name :', default='John Doe')
menu.add_selector('Difficulty :', [('Hard', 1), ('Easy', 2)], onchange=set_difficulty)
menu.add_button('Play', start_the_game)
menu.add_button('Quit', pygame_menu.events.EXIT)

Ответы (1 шт):

Автор решения: Timofei Bondarev

Самый простой способ — это записать выбранное значение в глобальную переменную:

difficult = 1

def set_difficulty(value, difficulty):
    global difficult
    difficult = difficulty

Если хочется обойтись без глобальных переменных, можно вместо функции в качестве параметра onchange передать метод какого-нибудь класса, в котором будет храниться информация о настройках.


Update:
По поводу того, как управлять присваиваемым значением.

Когда вы задаёте selector, вы передаёте в него список пар (название, значение). Так что изменив значение в соответствующей паре можно управлять тем, что будет передано в функцию onchange:

menu.add_selector('Difficulty :', [
        ('Hard', 1), 
        ('Easy', 2)
#                ^ эти значения и передаются в функцию.
    ], onchange=set_difficulty)
→ Ссылка