summaryrefslogtreecommitdiffstats
path: root/demos/declarative/samegame/content/samegame.js
diff options
context:
space:
mode:
authorAlan Alpert <alan.alpert@nokia.com>2009-10-29 07:56:05 (GMT)
committerAlan Alpert <alan.alpert@nokia.com>2009-10-29 07:56:05 (GMT)
commitca1361116bf36d1afe9cbcc293e171260978f315 (patch)
tree3f44b91b0f00a1dbcbfa9615ecce504fcfb07458 /demos/declarative/samegame/content/samegame.js
parente532322a7bb58f6b2527fa42063b5bccde318105 (diff)
downloadQt-ca1361116bf36d1afe9cbcc293e171260978f315.zip
Qt-ca1361116bf36d1afe9cbcc293e171260978f315.tar.gz
Qt-ca1361116bf36d1afe9cbcc293e171260978f315.tar.bz2
Add local highscores to SameGame
Diffstat (limited to 'demos/declarative/samegame/content/samegame.js')
-rwxr-xr-xdemos/declarative/samegame/content/samegame.js43
1 files changed, 39 insertions, 4 deletions
diff --git a/demos/declarative/samegame/content/samegame.js b/demos/declarative/samegame/content/samegame.js
index 1b81f87..4d5a6be 100755
--- a/demos/declarative/samegame/content/samegame.js
+++ b/demos/declarative/samegame/content/samegame.js
@@ -6,6 +6,7 @@ var maxIndex = maxX*maxY;
var board = new Array(maxIndex);
var tileSrc = "content/BoomBlock.qml";
var scoresURL = "http://qtfx-nokia.trolltech.com.au/samegame/scores.php";
+var scoresURL = "";
var timer;
var component = createComponent(tileSrc);
@@ -157,10 +158,8 @@ function victoryCheck()
//Checks for game over
if(deservesBonus || !(floodMoveCheck(0,maxY-1, -1))){
timer = new Date() - timer;
- if(scoresURL != "")
- scoreName.show("You've won! Please enter your name: ");
- else
- dialog.show("Game Over. Your score is " + gameCanvas.score);
+ scoreName.show("You won! Please enter your name: ");
+ //dialog.show("Game Over. Your score is " + gameCanvas.score);
}
}
@@ -207,6 +206,42 @@ function createBlock(xIdx,yIdx){
return true;
}
+function saveHighScore(name) {
+ if(scoresURL!="")
+ sendHighScore(name);
+ //OfflineStorage
+ var db = openDatabase("SameGameScores", "1.0", "Local SameGame High Scores",100);
+ var dataStr = "INSERT INTO Scores VALUES(?, ?, ?, ?)";
+ var data = [name, gameCanvas.score, maxX+"x"+maxY ,Math.floor(timer/1000)];
+ db.transaction(
+ function(tx) {
+ tx.executeSql('CREATE TABLE IF NOT EXISTS Scores(name TEXT, score NUMBER, gridSize TEXT, time NUMBER)',[]);
+ tx.executeSql(dataStr, data);
+
+ tx.executeSql('SELECT * FROM Scores WHERE gridSize = "12x17" ORDER BY score desc LIMIT 10',[],
+ function(tx, rs) {
+ var r = "\nHIGH SCORES for a standard sized grid\n\n"
+ for(var i = 0; i < rs.rows.length; i++){
+ r += (i+1)+". " + rs.rows.item(i).name +' got '
+ + rs.rows.item(i).score + ' points in '
+ + rs.rows.item(i).time + ' seconds.\n';
+ }
+ dialog.show(r);
+ },
+ function(tx, error) {
+ print("ERROR:", error.message);
+ }
+ );
+ },
+ function() {
+ print("ERROR in transaction");
+ },
+ function() {
+ //print("Transaction successful");
+ }
+ );
+}
+
function sendHighScore(name) {
var postman = new XMLHttpRequest()
var postData = "name="+name+"&score="+gameCanvas.score