From 3ec412c7f6adb7f25c56f946714585aba768cf4a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Heli=20Hyv=C3=A4ttinen?= Date: Wed, 7 Sep 2011 14:49:12 +0300 Subject: [PATCH] Highscore gets saved. --- levelset.cpp | 11 +++++++++-- seascene.cpp | 15 ++++++++++++++- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/levelset.cpp b/levelset.cpp index 721c273..b470946 100644 --- a/levelset.cpp +++ b/levelset.cpp @@ -22,6 +22,7 @@ #include "levelset.h" #include +#include Levelset::Levelset() { @@ -78,17 +79,23 @@ void Levelset::setTotalHighScore(int highscore) int Levelset::getLevelHighScore(int index) { QSettings settings; - QString group = name_.append("/LevelHighScore"); + QString group = name_; + group.append("/LevelHighScore"); settings.beginGroup(group); + qDebug() << group; + return settings.value(QString(index),900).toInt(); } void Levelset::setLevelHighScore(int index, int highScore) { QSettings settings; - QString group = name_.append("/LevelHighScore"); + QString group = name_; + group.append("/LevelHighScore"); settings.beginGroup(group); + qDebug() << group; + settings.setValue(QString(index),highScore); } diff --git a/seascene.cpp b/seascene.cpp index 580d4b0..9db3306 100644 --- a/seascene.cpp +++ b/seascene.cpp @@ -635,8 +635,21 @@ void SeaScene::nextLevel() int score = scoreCounter_.elapsed()/1000; totalScore_ += score; int highscore = levelset_.getLevelHighScore(currentLevel_); + qDebug() << highscore; - QString scoretext = tr("Your time: %1 min %2 s
Best time: %3 min %4 sec").arg(score/60).arg(score%60).arg(highscore/60).arg(highscore%60); + QString scoretext; + + if (score >= highscore) + { + scoretext = tr("Your time: %1 min %2 s
Best time: %3 min %4 sec").arg(score/60).arg(score%60).arg(highscore/60).arg(highscore%60); + } + + else //New high score! + + { + scoretext = tr("Your time %1 min %2 s is the new best time!").arg(score/60).arg(score%60); + levelset_.setLevelHighScore(currentLevel_,score); + } //pause to show the highscore or victory screen -- 1.7.9.5