-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgamestorage.cpp
70 lines (57 loc) · 1.96 KB
/
gamestorage.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <QDebug>
#include "gamestorage.h"
GameStorage::GameStorage(QObject *parent) : QObject(parent) {
srand(time(0));
QSettings settings;
this->m_uniqueId = settings.value("uniqueId", rand()).toInt();
settings.setValue("uniqueId", uniqueId());
setProfileName(settings.value("profileName", QString("Player %1").arg(uniqueId())).toString());
setAvatarId(settings.value("avatarId", QString("gomoku.jpg")).toString());
}
int GameStorage::rounds(int uniqueId) {
QSettings settings;
return settings.value(QString("%1.rounds").arg(uniqueId), 0).toInt();
}
void GameStorage::setRounds(int uniqueId, int rounds) {
QSettings settings;
settings.setValue(QString("%1.rounds").arg(uniqueId), rounds);
}
void GameStorage::increaseRounds() {
setRounds(opponentUniqueId(), rounds(opponentUniqueId()) + 1);
}
void GameStorage::decreaseRounds() {
setRounds(opponentUniqueId(), rounds(opponentUniqueId()) - 1);
}
int GameStorage::wins(int uniqueId) {
QSettings settings;
return settings.value(QString("%1.wins").arg(uniqueId), 0).toInt();
}
double GameStorage::winningRate(int uniqueId) {
QSettings settings;
int rounds = this->rounds(uniqueId), wins = this->wins(uniqueId);
if (rounds == 0) return 0.0;
return (double)wins * 100.0 / rounds;
}
void GameStorage::setWins(int uniqueId, int wins) {
QSettings settings;
settings.setValue(QString("%1.wins").arg(uniqueId), wins);
}
void GameStorage::increaseWins() {
setWins(opponentUniqueId(), wins(opponentUniqueId()) + 1);
}
QString GameStorage::getFileName() const {
QString timeString = QDateTime::currentDateTime().toString(Qt::ISODate).replace(':', "_");
QString path = "save_file_" + timeString + ".txt";
qDebug() << path;
return path;
}
QUrl GameStorage::getFileDirectory() const {
QUrl dir = QUrl(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation));
qDebug() << dir;
return dir;
}
QString GameStorage::getNameFromDir(QString dir) const {
QString name = QFileInfo(dir).fileName();
qDebug() << name;
return name;
}