Skip to content

Commit

Permalink
Best Storage
Browse files Browse the repository at this point in the history
Add cookies to keep player stats
  • Loading branch information
Sam Sartor committed Dec 12, 2014
1 parent aee94da commit 826f501
Show file tree
Hide file tree
Showing 5 changed files with 56 additions and 7 deletions.
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<br>
Round <div class="stat" id="best-level-level"></div>-<div class="stat" id="best-level-room"></div>
<br>
<div class="stat" id="best-streak">0</div> Round Streak
<div class="stat" id="best-streak"></div> Round Streak
</div>
</div>
<div class="game-message">
Expand Down
55 changes: 49 additions & 6 deletions js/game.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ function Game(Manipulator, dobads)
this.setup();
this.lastTick = Date.now();
window.requestAnimationFrame(this.tick.bind(this));
}
};

removeFromArray = function(array, element)
{
Expand Down Expand Up @@ -49,9 +49,9 @@ Game.prototype.tick = function()

Game.prototype.calculatePlayerStats = function()
{
var bestscore = this.playerstats.getRawStat("best-score") || -1;
var bestlevel = this.playerstats.getRawStat("best-level-level") || -1;
var bestroom = this.playerstats.getRawStat("best-level-room") || -1;
var bestscore = this.playerstats.getRawStat("best-score");
var bestlevel = this.playerstats.getRawStat("best-level-level");
var bestroom = this.playerstats.getRawStat("best-level-room");
if (this.score > bestscore)
{
this.setPlayerStat("best-score", this.score);
Expand Down Expand Up @@ -101,7 +101,7 @@ Game.prototype.onRoomEnd = function(scorebonus, newpos, newside)
this.setStat("total", this.made + this.missed);
this.setStat("correct", this.made);
this.setStat("streak", this.streak);
var beststreak = this.playerstats.getRawStat("best-streak") || 0;
var beststreak = this.playerstats.getRawStat("best-streak");
if (this.streak > beststreak)
{
this.setPlayerStat("best-streak", this.streak);
Expand All @@ -113,6 +113,7 @@ Game.prototype.onRoomEnd = function(scorebonus, newpos, newside)
{
this.onLevelEnd();
}
this.savePlayerData()
this.onRoomStart(newpos, newside);
};

Expand Down Expand Up @@ -240,7 +241,7 @@ Game.prototype.onGameEnd = function()
Game.prototype.restart = function()
{
this.gameStart();
}
};

Game.prototype.gameStart = function()
{
Expand Down Expand Up @@ -288,6 +289,48 @@ Game.prototype.setup = function()
{
this.playerstats = new GameStats();
this.setPlayerStat("best-streak", 0);
this.setPlayerStat("best-score", 0);
this.setPlayerStat("best-level-level", 0);
this.setPlayerStat("best-level-room", 0);
var newdata = this.getSavedPlayerData();
if (newdata)
{
this.playerstats.setStatsData(newdata);
}
this.playerstats.setGameStatMorpher("best-score", function(val) { return Math.floor(val); });
this.gameStart();
this.manip.applyStats(this.playerstats);
};

Game.prototype.getSavedPlayerData = function()
{
try
{
var savedData = window.localStorage.getItem("playerStats");
if (savedData)
{
var data = JSON.parse(savedData);
if (data)
{
return data;
}
}
}
catch (error)
{
}
};

Game.prototype.savePlayerData = function()
{
var data = JSON.stringify(this.playerstats.gamestats);
try
{
window.localStorage.setItem("playerStats", data);
return true;
}
catch (error)
{
return false;
}
};
Empty file removed js/game_data.js
Empty file.
6 changes: 6 additions & 0 deletions js/game_stats.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ function GameStats()
this.gamestatmorphers = new Object();
};

GameStats.prototype.setStatsData = function(data)
{
delete this.gamestats;
this.gamestats = data;
};

GameStats.prototype.setGameStat = function(stat, value)
{
this.gamestats[stat] = value;
Expand Down
Empty file removed js/player_stats.js
Empty file.

0 comments on commit 826f501

Please sign in to comment.