Сохранение текстовой приключенческой игры

Я ищу эффективный способ сохранить свою игру, закодированную на python. Я посмотрел на pickle, но не уверен, что он подойдет для моих нужд, так как нужно сохранить много информации.

Я понимаю, что pickle берет все, что я ему даю, и выгружает это в файл, что звучит великолепно. Но у меня есть не только персонаж игрока для сохранения, есть комнаты, в которых персонаж уже был, состояние комнат, если пользователь открыл сундуки с сокровищами и т. д. И если я правильно понимаю рассол, мне нужно будет ввести каждую комнату вручную, чтобы это работало.

Есть лучший способ сделать это? Было бы лучше создать какую-то базу данных? Или я просто не правильно использую рассол?


person Macimoar    schedule 17.02.2018    source источник
comment
Пожалуйста, покажите какой-нибудь код, где вы пытаетесь рассолить. В общем, pickle отлично подходит для сохранения объектов, так почему бы вам не создать классного игрока и (может быть, классную комнату ...) добавить достижения в качестве атрибутов и не замариновать объект?   -  person NewNewton    schedule 17.02.2018


Ответы (1)


Возможно, я что-то упускаю, но почему бы не поместить все упомянутые вами данные в словарь. Это может быть даже многоуровневый словарь. Что-то типа:

{
"player_info":{"name":"Bart", ..}, 
"current_state_of_game":{"cur_location":"library", "prior_room":"kitchen", ..}
}

Тогда мариновать это?

person kdragger    schedule 17.02.2018