Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/game.py
diff options
context:
space:
mode:
Diffstat (limited to 'game.py')
-rw-r--r--game.py50
1 files changed, 49 insertions, 1 deletions
diff --git a/game.py b/game.py
index b023e85..3cb9d10 100644
--- a/game.py
+++ b/game.py
@@ -27,6 +27,10 @@ from model import Model
from audio import Audio
import theme
+#ARIEL
+from sugar.activity.activity import get_bundle_path
+import simplejson
+
_logger = logging.getLogger('memorize-activity')
SERVICE = 'org.laptop.Memorize'
@@ -317,12 +321,56 @@ class MemorizeGame(GObject):
self.model.data['color'] = color
self.load_remote(self.model.grid, self.model.data, mode, False)
+ #ARIEL save game
+ def save_game(self, filepath):
+ f = open ( filepath, "w" )
+
+ gridToSave = self.model.grid
+ """
+ dataToSave = self.model.data
+
+ del dataToSave['title']
+ del dataToSave['color']
+ del dataToSave['game_file']
+ """
+
+ gridToSave = str(gridToSave).replace("'",'"')
+ #dataToSave = str(dataToSave).replace("'",'"')
+
+ f.write ( "{\n" )
+ f.write ('"grid":' + gridToSave + ",\n" )
+ #f.write ('"data":' + dataToSave + "\n" )
+ f.write ( "}\n" )
+
+ f.close()
+
+ #ARIEL load-saved-game
+ def load_saved_game(self,filename):
+ filepath = get_bundle_path() + "/data/" + filename
+ f = open(filepath,"r")
+ jsondata = simplejson.loads(f.read())
+ f.close()
+
+ grid = jsondata["grid"]
+ mode = jsondata["data"]['mode']
+ data = jsondata["data"]
+
+ self.set_load_mode('Loading game')
+ self.model.is_demo = (mode == 'demo')
+ self.model.grid = grid
+ self.model.data = data
+ self.model.data['running'] = 'False'
+ self.model.data['mode'] = mode
+ logging.debug(' Read setup file %r ', self.model.grid)
+ self.emit('load_game', self.model.data, self.model.grid)
+
def reset_game(self, size=None):
if size == None:
size = int(self.model.data['size'])
self.model.count = 0
self.model.def_grid(size)
- self.load_remote(self.model.grid, self.model.data, False)
+ self.load_remote(self.model.grid, self.model.data,
+ self.model.data['mode'],False)
def set_load_mode(self, msg):
self.emit('load_mode', msg)