Writing game-state data...
Mark Lawrence
breamoreboy at yahoo.co.uk
Fri Nov 9 02:37:56 EST 2012
On 09/11/2012 07:20, Graham Fielding wrote:
>
> Hey, folks, me again! I've been puzzling over this for a while now: I'm trying to write data to a file to save the state of my game using the following function: def save_game():
> #open a new empty shelve (possibly overwriting an old one) to write the game data
> file_object = open('savegame.sav', 'wb')
> file['map'] = map
> file['objects'] = objects
> file['player_index'] = objects.index(player) #index of player in objects list
> file['inventory'] = inventory
> file['game_msgs'] = game_msgs
> file['game_state'] = game_state
> file['stairs_index'] = objects.index(stairs)
> file['dungeon_level'] = dungeon_level
> file.close() However, while 'savegame.sav' is created in the directory I specify, the function dies on file['map'] = map. This is the end of the stack trace:
> File "C:\Python Project\Roguelike.py", line 966, in save_game
> file['map'] = map
> TypeError: 'type' object does not support item assignment Now, the map is randomly generated -- could that be an issue? Should I just scrap the current system and use pickle?
>
Please always give the complete stack trace, it's provided for a
purpose. Here I'll grope around in the dark and guess that you need
file_object = shelve.open(...
--
Cheers.
Mark Lawrence.
More information about the Python-list
mailing list