-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdata_loaders.py
More file actions
25 lines (20 loc) · 862 Bytes
/
data_loaders.py
File metadata and controls
25 lines (20 loc) · 862 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import os
import shelve
def save_game(player, entities, game_map, message_log, game_state):
with shelve.open('savegame.dat', 'n') as data_file:
data_file['player_index'] = entities.index(player)
data_file['entities'] = entities
data_file['game_map'] = game_map
data_file['message_log'] = message_log
data_file['game_state'] = game_state
def load_game():
if not os.path.isfile('savegame.data'):
raise FileNotFoundError
with shelve.open('savegame.dat', 'r') as data_file:
player_index = data_file['player_index']
entities = data_file['entities']
game_map = data_file['game_map']
message_log = data_file['message_log']
game_state = data_file['game_state']
player = entities[player_index]
return player, entities, game_map, message_log, game_state