From 0208c1d5fd851a73ce1a499721b621b19d176c90 Mon Sep 17 00:00:00 2001 From: Jean Privat Date: Tue, 15 Sep 2015 04:40:49 -0400 Subject: [PATCH] friendz: save and restore playing grids Signed-off-by: Jean Privat --- contrib/friendz/src/friendz.nit | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/contrib/friendz/src/friendz.nit b/contrib/friendz/src/friendz.nit index 9e7e00f..f780d74 100644 --- a/contrib/friendz/src/friendz.nit +++ b/contrib/friendz/src/friendz.nit @@ -19,7 +19,6 @@ import realtime import solver import mnit::tileset import app::data_store -import md5 intrude import grid intrude import level @@ -962,7 +961,7 @@ redef class Game fun play(l: Level) do level = l - grid.load(level.str) + grid.load(level.saved_str or else level.str) init_play_menu(false) if level.status != "" then statusbar.main_txt = level.status @@ -1270,10 +1269,15 @@ redef class Game super for level in levels do - var score = app.data_store["s{level.str.md5}"] + var score = app.data_store["s{level.str}"] if score isa Int then level.score = score end + var saved_str = app.data_store["g{level.str}"] + if saved_str isa String then + print "LOAD {level.name}: {saved_str}" + level.saved_str = saved_str + end end end end @@ -1649,6 +1653,13 @@ end redef class Level redef fun save do - app.data_store["s{str.md5}"] = if score > 0 then score else null + app.data_store["s{str}"] = if score > 0 then score else null + var saved = game.grid.save + saved_str = saved + app.data_store["g{str}"] = saved + print "SAVE: {name}: {saved}" end + + # The saved player grid (to continue games) + var saved_str: nullable String = null end -- 1.7.9.5