У меня есть два модуля в Pygame. Один (game_manager) отвечает за создание игры и за все действия, которые вы можете выполнять там. Другой (window_manager) отвечает за обновление окна игры и отрисовку всех элементов.
При рефакторинге кода для создания новых режимов игры я столкнулся с проблемой.
Я хочу передать переменнуюDECK_PLAYER из game_manager в window_manager:
# IN GAME_MANAGER.py
TABLERO = []
DECK_PLAYER = []
<some code>
def set_tablero(size):
global TABLERO
global DECK_PLAYER
TABLERO = class_board.crear_tablero(size)
DECK_PLAYER = class_cards.create_decks()
def get_deck_player():
global DECK_PLAYER
print("get_deck_player() -> ", DECK_PLAYER)
return DECK_PLAYER
if __name__ == "__main__":
board_size = 3
CLOCK.tick(30)
set_tablero(board_size)
print("get_deck_player() -> ", get_deck_player())
game_init()
оба отпечатка пока что выводят правильный результат, DECK_PLAYER в виде списка с элементами. Но если я позвоню
# IN WINDOW_MANAGER.py
deck_p = game_manager.get_deck_player()
print(deck_p)
, эта печать вернет пустой список ([]), и я не понимаю, почему. Разве get_deck_player не должен возвращать текущее значение переменной?