Skip to content
Snippets Groups Projects
Commit 4a2d53cf authored by Massies Alexandre's avatar Massies Alexandre
Browse files

changement nombe de lettre ok

changement de nombre de lettre fonctionnel, meilleur bouton statistiques
bouton abandon pas fonctionnel
réorganisation des anchors de la fenetre
déplacement des textes de win et lose
parent acfc7ce9
Branches
No related tags found
No related merge requests found
......@@ -2,8 +2,8 @@ import QtQuick
Item {
id: _item
width: 70
height: 70
width: 50
height: 50
property alias rectangleBorderColor: rectangle.border.color
property alias rectangleColor: rectangle.color
......@@ -18,8 +18,8 @@ Item {
Rectangle {
id: rectangle
width: 70
height: 70
width: 50
height: 50
color: "#323232"
radius: 5
border.color: "#ffffff"
......@@ -29,12 +29,12 @@ Item {
Text {
id: _text
width: 70
height: 70
width: 50
height: 50
color: "#ffffff"
text: qsTr("")
anchors.verticalCenter: parent.verticalCenter
font.pixelSize: 50
font.pixelSize: 40
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
font.family: "Tahoma"
......
......@@ -3,29 +3,23 @@ import QtQuick.Controls 2.15
Item {
width: 300
height: 200
height: 120
property alias _textText: _text.text
Rectangle {
id: rectangle
x: 0
y: 0
width: 300
height: 200
color: "#323232"
radius: 10
border.color: "#ffffff"
border.width: 5
anchors.fill: parent
Text {
id: _text
x: 0
y: 0
width: 300
height: 200
color: "#ffffff"
text: qsTr("Bouton")
font.pixelSize: 40
anchors.fill: parent
font.pixelSize: 35
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
font.family: "Tahoma"
......
This diff is collapsed.
......@@ -5,17 +5,15 @@ import QtQuick.Layouts 1.15
Item {
width: 240
height: 100
property string firstItemText;
ComboBox {
id: comboBox
anchors.centerIn: parent
width: 250
height: 100
currentIndex: 1
model: [firstItemText, "6", "7", "8", "9", "10","11","12"]
model: ["4", "5", "6", "7", "8", "9", "10","11","12", "Aléatoire"]
flat: true
// Le contenu affiché (texte sélectionné)
......@@ -75,5 +73,30 @@ Item {
color: "black"
}
}
onCurrentIndexChanged: {
if (currentIndex === 9){
nb_lettres = motusGame.getRandomNum();
}
else{
nb_lettres = model[currentIndex];
}
console.log(nb_lettres);
if (nb_lettres == 4){
nb_essais = 5;
}
else if (nb_lettres == 5 || nb_lettres == 6){
nb_essais = 6;
}
else if (nb_lettres == 7 || nb_lettres == 8){
nb_essais = 7;
}
else{
nb_essais = 8;
}
caseRepeater.model = nb_lettres*nb_essais;
console.log(caseRepeater.model);
console.log(caseArray);
}
}
}
......@@ -161,21 +161,25 @@ int MotusGame::getLetterNumber() const {
void MotusGame::setLetterNumber(int value) {
if (letterNumber != value) {
letterNumber = value;
// Mettre à jour le nombre d'essais en fonction du nombre de lettres
if (value == 4)
tryTotal = 5;
else if (value == 5 || value == 6)
tryTotal = 6;
else if (value == 7 || value == 8)
tryTotal = 7;
else
tryTotal = 8;
emit letterNumberChanged();
qDebug() << "🔤 Nouvelle valeur de letterNumber :" << letterNumber;
emit tryTotalChanged(); // Signal pour notifier l'UI que le nombre d'essais a changé
qDebug() << "Nouvelle valeur de letterNumber :" << letterNumber << ", tryTotal mis à jour à" << tryTotal;
}
}
bool MotusGame::getRandomizeLetterNumber() const {
return randomizeletterNumber;
}
void MotusGame::setRandomizeLetterNumber(bool value) {
if (randomizeletterNumber != value) {
randomizeletterNumber = value;
emit randomizeLetterNumberChanged();
qDebug() << "🎲 randomizeLetterNumber =" << randomizeletterNumber;
}
int MotusGame::getRandomNum() {
QList<int> essaisPossibles = {5, 6, 6, 7, 7, 8, 8, 8, 8};
int index = QRandomGenerator::global()->bounded(essaisPossibles.size());
return essaisPossibles[index];
}
bool MotusGame::getLoosetrybool() const {
......@@ -325,4 +329,10 @@ void MotusGame::updateStats(int letterCount, const QString &language, bool win,
}
}
qDebug() << "Statistiques mises à jour pour" << language << "avec" << letterCount << "lettres, victoire:" << win;
// Sauvegarde immédiate dans le fichier texte
saveStats();
// Émettre un signal pour notifier à l'UI que les stats ont changé
emit statsChanged();
}
......@@ -34,7 +34,6 @@ class MotusGame : public QObject {
Q_PROPERTY(QString dictionnaryChoosed READ getDictionnaryChoosed WRITE setDictionnaryChoosed NOTIFY dictionnaryChoosedChanged)
Q_PROPERTY(int remainingTime READ getRemainingTime NOTIFY timerUpdated)
Q_PROPERTY(int letterNumber READ getLetterNumber WRITE setLetterNumber NOTIFY letterNumberChanged)
Q_PROPERTY(bool randomizeLetterNumber READ getRandomizeLetterNumber WRITE setRandomizeLetterNumber NOTIFY randomizeLetterNumberChanged)
Q_PROPERTY(bool loosetry READ getLoosetrybool WRITE setLoosetrybool NOTIFY loosetryChanged)
Q_PROPERTY(bool loosetime READ getLoosetimebool WRITE setLoosetimebool NOTIFY loosetimeChanged)
Q_PROPERTY(bool win READ getWinbool WRITE setWinbool NOTIFY winChanged)
......@@ -52,8 +51,7 @@ public:
int getLetterNumber() const;
void setLetterNumber(int value);
bool getRandomizeLetterNumber() const;
void setRandomizeLetterNumber(bool value);
Q_INVOKABLE int getRandomNum();
bool getLoosetrybool() const;
Q_INVOKABLE void setLoosetrybool(bool value);
......@@ -69,6 +67,8 @@ public:
Q_INVOKABLE void saveStats(); // Sauvegarder les stats dans le fichier
Q_INVOKABLE void updateStats(int letterCount, const QString &language, bool win, int attemptsUsed, int gameTime);
int getTryTotal() const { return tryTotal; }
private:
QStringList words;
QString motChoisi;
......@@ -97,10 +97,11 @@ signals:
void dictionnaryChoosedChanged();
void timerUpdated();
void letterNumberChanged();
void randomizeLetterNumberChanged();
void loosetryChanged();
void loosetimeChanged();
void winChanged();
void statsChanged(); // Signal pour informer que les statistiques ont changé
void tryTotalChanged(); // Signal pour informer que le nombre d'essais a changé
};
#endif // MOTUSGAME_H
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment