Writing game-state data...

Graham Fielding frednotbob at hotmail.ca
Fri Nov 9 11:12:41 CET 2012



 > To: python-list at python.org
> From: breamoreboy at yahoo.co.uk
> Subject: Re: Writing game-state data...
> Date: Fri, 9 Nov 2012 07:37:56 +0000
> 
> 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.
> 
> -- 
> http://mail.python.org/mailman/listinfo/python-list Here's the full stack trace:   File "C:\Python Project\Roguelike.py", line 1048, in <module>
    main_menu()
  File "C:\Python Project\Roguelike.py", line 1030, in main_menu
    play_game()
  File "C:\Python Project\Roguelike.py", line 1007, in play_game
    player_action = handle_keys()
  File "C:\Python Project\Roguelike.py", line 717, in handle_keys
    quit_menu() #exit game
  File "C:\Python Project\Roguelike.py", line 698, in quit_menu
    save_game()
  File "C:\Python Project\Roguelike.py", line 909, in save_game
    file['map'] = map
TypeError: 'type' object does not support item assignment
>>>  What I'm trying to do is figure out a way to get the game to save its state; I compiled it to an EXE using py2exe, but after that, the game refuses to hold onto its data. Thanks for all the help! 
  		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20121109/3d8f8959/attachment-0001.html>


More information about the Python-list mailing list