From: Alexis Laferrière Date: Mon, 5 Jan 2015 17:42:23 +0000 (-0500) Subject: contrib/friendz: use `app:data_store` to keep best scores X-Git-Tag: v0.7.1~54^2~2 X-Git-Url: http://nitlanguage.org contrib/friendz: use `app:data_store` to keep best scores Signed-off-by: Alexis Laferrière --- diff --git a/contrib/friendz/src/friendz.nit b/contrib/friendz/src/friendz.nit index 13915e6..949a2cf 100644 --- a/contrib/friendz/src/friendz.nit +++ b/contrib/friendz/src/friendz.nit @@ -17,6 +17,8 @@ import mnit import realtime import solver import mnit::tileset +import app::data_store +import md5 intrude import grid intrude import level @@ -1267,6 +1269,18 @@ redef class Game end end end + + redef fun load_levels + do + super + + for level in levels do + var score = app.data_store["s{level.str.md5}"] + if score isa Int then + level.score = score + end + end + end end # The spash title image @@ -1634,3 +1648,10 @@ redef class KeyEvent return "unknown" end end + +redef class Level + redef fun save + do + app.data_store["s{str.md5}"] = if score > 0 then score else null + end +end diff --git a/contrib/friendz/src/level.nit b/contrib/friendz/src/level.nit index d459875..9d8029e 100644 --- a/contrib/friendz/src/level.nit +++ b/contrib/friendz/src/level.nit @@ -96,10 +96,8 @@ class Level return true end - fun save - do - #save_cookie("s"+self.hash, self.score>0?self.score:"") - end + # Save the score of the level + fun save do end end # main game object @@ -174,8 +172,6 @@ class Game for i in [0..levels_code.length[ do var l = new Level(self,i, levels_code[i]) levels[i] = l - #var v = read_cookie("s"+l.hash) - #l = v end end