-
Notifications
You must be signed in to change notification settings - Fork 0
/
GestionScore.cpp
75 lines (56 loc) · 1.83 KB
/
GestionScore.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
71
72
73
74
75
#include "GestionScore.h"
//prend en paramètre le chemin vers le fichier et le score
// enregistre seulement si supérieur au meilleur score
void sauverMeilleurScore(QString fichier_nom,int score)
{
// Création d'un objet QFile
QFile file(fichier_nom);
// On ouvre notre fichier en lecture seule et on vérifie l'ouverture
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
{
qWarning() <<fichier_nom;
}// Création d'un objet QTextStream à partir de notre objet QFile
QTextStream flux(&file);
//récupération du meilleur score dans le fichier
int score_fichier;
flux >> score_fichier;
file.close();
QFile file_w(fichier_nom);
file_w.open(QIODevice::WriteOnly | QIODevice::Text);
QTextStream out(&file_w);
// écriture du score actuel seulement s'il est meilleur que le précédent score enregistré
qWarning() << QString::number(score);
if (score > score_fichier)
out << score;
// optional, as QFile destructor will already do it:
file_w.close();
}
//retourne le score situé dans le fichier en paramètre
int chargerScore(QString fichier_nom)
{
int score=0;
QFile fichier(fichier_nom);
if (!fichier.open(QIODevice::ReadOnly | QIODevice::Text))
{
qWarning() << "bg3";
}
QTextStream flux(&fichier);
flux >> score;
fichier.close();
return score;
}
void sauverScore(QString fichier_nom,int score)
{
QFile file_log(fichier_nom);
// Ouverture / Création du fichier
if(!file_log.exists()){
file_log.open(QIODevice::WriteOnly | QIODevice::Text);
} else {
file_log.open(QIODevice::Append | QIODevice::Text);
}
QTextStream stream(&file_log);
// On écrit dans le fichier
stream << QString::number(score) << "\n";
// Fermeture du fichier
file_log.close();
}