Как сделать сохранить / загрузить игровые функции в Pygame? - PullRequest
6 голосов
/ 21 июня 2011

Мне нужно сделать функции сохранения / загрузки игры для моей RPG. Я могу сохранить местоположение своего плеера, но я хочу замораживать весь экран в один момент, как это делается в эмуляторах, таких как vba и snes9x. Или, может быть, сохранить места, где я могу сохранить игру и начать заново. Может кто-нибудь сказать мне, как вы делаете эти вещи? приветствуется любой код, даже теоретический псевдокод.

1 Ответ

13 голосов
/ 21 июня 2011

Вы можете использовать pickle для сериализации данных Python.Это не имеет ничего общего с pygame.

Так что, если ваше игровое состояние полностью сохранено в объекте foo, для сохранения в файл "savegame" (сначала import pickle):

with open("savegame", "wb") as f:
    pickle.dump(foo, f)

Для загрузки:

with open("savegame", "rb") as f:
    foo = pickle.load(f)

Состояние игры - это вся необходимая информация, необходимая для восстановления игры, то есть состояние игрового мира, а также любое состояние пользовательского интерфейса и т. Д. Если ваше игровое состояниераспределить по нескольким объектам без единого объекта, который их составляет, вы можете просто выбрать список со всеми необходимыми объектами.

...