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
No related branches found
No related tags found
No related merge requests found
...@@ -2,8 +2,8 @@ import QtQuick ...@@ -2,8 +2,8 @@ import QtQuick
Item { Item {
id: _item id: _item
width: 70 width: 50
height: 70 height: 50
property alias rectangleBorderColor: rectangle.border.color property alias rectangleBorderColor: rectangle.border.color
property alias rectangleColor: rectangle.color property alias rectangleColor: rectangle.color
...@@ -18,8 +18,8 @@ Item { ...@@ -18,8 +18,8 @@ Item {
Rectangle { Rectangle {
id: rectangle id: rectangle
width: 70 width: 50
height: 70 height: 50
color: "#323232" color: "#323232"
radius: 5 radius: 5
border.color: "#ffffff" border.color: "#ffffff"
...@@ -29,12 +29,12 @@ Item { ...@@ -29,12 +29,12 @@ Item {
Text { Text {
id: _text id: _text
width: 70 width: 50
height: 70 height: 50
color: "#ffffff" color: "#ffffff"
text: qsTr("") text: qsTr("")
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
font.pixelSize: 50 font.pixelSize: 40
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
font.family: "Tahoma" font.family: "Tahoma"
......
...@@ -3,29 +3,23 @@ import QtQuick.Controls 2.15 ...@@ -3,29 +3,23 @@ import QtQuick.Controls 2.15
Item { Item {
width: 300 width: 300
height: 200 height: 120
property alias _textText: _text.text property alias _textText: _text.text
Rectangle { Rectangle {
id: rectangle id: rectangle
x: 0
y: 0
width: 300
height: 200
color: "#323232" color: "#323232"
radius: 10 radius: 10
border.color: "#ffffff" border.color: "#ffffff"
border.width: 5 border.width: 5
anchors.fill: parent
Text { Text {
id: _text id: _text
x: 0
y: 0
width: 300
height: 200
color: "#ffffff" color: "#ffffff"
text: qsTr("Bouton") text: qsTr("Bouton")
font.pixelSize: 40 anchors.fill: parent
font.pixelSize: 35
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
font.family: "Tahoma" font.family: "Tahoma"
......
This diff is collapsed.
...@@ -5,17 +5,15 @@ import QtQuick.Layouts 1.15 ...@@ -5,17 +5,15 @@ import QtQuick.Layouts 1.15
Item { Item {
width: 240 width: 240
height: 100 height: 100
property string firstItemText;
ComboBox { ComboBox {
id: comboBox id: comboBox
anchors.centerIn: parent anchors.centerIn: parent
width: 250 width: 250
height: 100 height: 100
currentIndex: 1
model: ["4", "5", "6", "7", "8", "9", "10","11","12", "Aléatoire"]
model: [firstItemText, "6", "7", "8", "9", "10","11","12"]
flat: true flat: true
// Le contenu affiché (texte sélectionné) // Le contenu affiché (texte sélectionné)
...@@ -75,5 +73,30 @@ Item { ...@@ -75,5 +73,30 @@ Item {
color: "black" 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 { ...@@ -161,21 +161,25 @@ int MotusGame::getLetterNumber() const {
void MotusGame::setLetterNumber(int value) { void MotusGame::setLetterNumber(int value) {
if (letterNumber != value) { if (letterNumber != value) {
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(); 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 { int MotusGame::getRandomNum() {
return randomizeletterNumber; QList<int> essaisPossibles = {5, 6, 6, 7, 7, 8, 8, 8, 8};
} int index = QRandomGenerator::global()->bounded(essaisPossibles.size());
return essaisPossibles[index];
void MotusGame::setRandomizeLetterNumber(bool value) {
if (randomizeletterNumber != value) {
randomizeletterNumber = value;
emit randomizeLetterNumberChanged();
qDebug() << "🎲 randomizeLetterNumber =" << randomizeletterNumber;
}
} }
bool MotusGame::getLoosetrybool() const { bool MotusGame::getLoosetrybool() const {
...@@ -325,4 +329,10 @@ void MotusGame::updateStats(int letterCount, const QString &language, bool win, ...@@ -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; 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 { ...@@ -34,7 +34,6 @@ class MotusGame : public QObject {
Q_PROPERTY(QString dictionnaryChoosed READ getDictionnaryChoosed WRITE setDictionnaryChoosed NOTIFY dictionnaryChoosedChanged) Q_PROPERTY(QString dictionnaryChoosed READ getDictionnaryChoosed WRITE setDictionnaryChoosed NOTIFY dictionnaryChoosedChanged)
Q_PROPERTY(int remainingTime READ getRemainingTime NOTIFY timerUpdated) Q_PROPERTY(int remainingTime READ getRemainingTime NOTIFY timerUpdated)
Q_PROPERTY(int letterNumber READ getLetterNumber WRITE setLetterNumber NOTIFY letterNumberChanged) 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 loosetry READ getLoosetrybool WRITE setLoosetrybool NOTIFY loosetryChanged)
Q_PROPERTY(bool loosetime READ getLoosetimebool WRITE setLoosetimebool NOTIFY loosetimeChanged) Q_PROPERTY(bool loosetime READ getLoosetimebool WRITE setLoosetimebool NOTIFY loosetimeChanged)
Q_PROPERTY(bool win READ getWinbool WRITE setWinbool NOTIFY winChanged) Q_PROPERTY(bool win READ getWinbool WRITE setWinbool NOTIFY winChanged)
...@@ -52,8 +51,7 @@ public: ...@@ -52,8 +51,7 @@ public:
int getLetterNumber() const; int getLetterNumber() const;
void setLetterNumber(int value); void setLetterNumber(int value);
bool getRandomizeLetterNumber() const; Q_INVOKABLE int getRandomNum();
void setRandomizeLetterNumber(bool value);
bool getLoosetrybool() const; bool getLoosetrybool() const;
Q_INVOKABLE void setLoosetrybool(bool value); Q_INVOKABLE void setLoosetrybool(bool value);
...@@ -69,6 +67,8 @@ public: ...@@ -69,6 +67,8 @@ public:
Q_INVOKABLE void saveStats(); // Sauvegarder les stats dans le fichier 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); Q_INVOKABLE void updateStats(int letterCount, const QString &language, bool win, int attemptsUsed, int gameTime);
int getTryTotal() const { return tryTotal; }
private: private:
QStringList words; QStringList words;
QString motChoisi; QString motChoisi;
...@@ -97,10 +97,11 @@ signals: ...@@ -97,10 +97,11 @@ signals:
void dictionnaryChoosedChanged(); void dictionnaryChoosedChanged();
void timerUpdated(); void timerUpdated();
void letterNumberChanged(); void letterNumberChanged();
void randomizeLetterNumberChanged();
void loosetryChanged(); void loosetryChanged();
void loosetimeChanged(); void loosetimeChanged();
void winChanged(); 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 #endif // MOTUSGAME_H
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment