Skip to content
Snippets Groups Projects
Commit 826c6564 authored by Pouchet Pierre's avatar Pouchet Pierre
Browse files

Ajout variables

Variable NumberLetterButton (int) : stocke le nombre de lettres pour les mots à générer

Variable randomizeletterNumber (bool) : pour savoir si on veut que le nombre de lettres pour les mots générés soit aléatoire, prime sur letterNumber si randomizeletterNumber = true

Un combobox permet de modifier les variables
parent d0dce3fc
No related branches found
No related tags found
No related merge requests found
......@@ -46,6 +46,7 @@ qt_add_qml_module(appMotus
QML_FILES LangageButton.qml
QML_FILES
QML_FILES MotusTimer.qml
QML_FILES NumberLetterButton.qml
)
# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
......
......@@ -478,5 +478,12 @@ Window {
x: 502
y: 73
}
NumberLetterButton {
id: numberLetterButton
x: 704
y: 122
}
}
}
import QtQuick
import QtQuick.Controls 2.15
Item {
width: 100
height: 50
property alias comboBoxDisplayText: comboBox.displayText
Rectangle {
id: rectangle
x: 0
y: 0
width: 100
height: 50
color: "#fe8cf6"
ComboBox {
id: comboBox
x: 0
y: 0
width: 100
height: 50
flat: true
editable: true
model: ["aléatoire","5","6","7","8","9","10"]
displayText: "Number of letters"
onCurrentTextChanged: {
if (typeof motusGame !== "undefined") {
if (currentText === "aléatoire") {
motusGame.randomizeLetterNumber = true;
} else {
motusGame.randomizeLetterNumber = false;
motusGame.letterNumber = parseInt(currentText);
}
}
}
}
}
}
......@@ -7,6 +7,8 @@
#include <QDebug>
// Constructeur //////////////////////////////////////////////////////////////////////////////////////////
MotusGame::MotusGame(QObject *parent) : QObject(parent) {
loadWords();
qDebug() << "🔧 Connexion timer établie";
......@@ -37,6 +39,7 @@ MotusGame::MotusGame(QObject *parent) : QObject(parent) {
}
// Générer un mot //////////////////////////////////////////////////////////////////////////////////////////
void MotusGame::loadWords() {
words.clear();
......@@ -67,10 +70,15 @@ QString MotusGame::getRandomWord() {
}
// Changement de langue //////////////////////////////////////////////////////////////////////////////////////////
QString MotusGame::getDictionnaryChoosed() const {
return dictionnaryChoosed;
}
void MotusGame::setDictionnaryChoosed(const QString &value) {
if (dictionnaryChoosed != value) {
dictionnaryChoosed = value;
......@@ -80,6 +88,7 @@ void MotusGame::setDictionnaryChoosed(const QString &value) {
}
}
// Démarrer le timer //////////////////////////////////////////////////////////////////////////////////////////
void MotusGame::startTimer() {
qDebug() << "🔁 startTimer() appelé";
......@@ -100,3 +109,43 @@ void MotusGame::startTimer() {
int MotusGame::getRemainingTime() const {
return remainingTime;
}
// Donner le nombre de lettres pour les mots à générer //////////////////////////////////////////////////////////////////////////////////////////
int MotusGame::getLetterNumber() const {
return letterNumber;
}
void MotusGame::setLetterNumber(int value) {
if (letterNumber != value) {
letterNumber = value;
emit letterNumberChanged();
qDebug() << "🔤 Nouvelle valeur de letterNumber :" << letterNumber;
}
}
bool MotusGame::getRandomizeLetterNumber() const {
return randomizeletterNumber;
}
void MotusGame::setRandomizeLetterNumber(bool value) {
if (randomizeletterNumber != value) {
randomizeletterNumber = value;
emit randomizeLetterNumberChanged();
qDebug() << "🎲 randomizeLetterNumber =" << randomizeletterNumber;
}
}
......@@ -17,27 +17,40 @@ class MotusGame : public QObject {
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)
public:
explicit MotusGame(QObject *parent = nullptr);
Q_INVOKABLE QString getRandomWord();
QString getDictionnaryChoosed() const;
QString getDictionnaryChoosed() const; //Pour le changement de mot à deviner
void setDictionnaryChoosed(const QString &value);
Q_INVOKABLE void startTimer();
Q_INVOKABLE void startTimer(); //Pour le début du timer
int getRemainingTime() const;
int getLetterNumber() const; //Pour le nombre de lettres du mot qu'on veut générer
void setLetterNumber(int value);
bool getRandomizeLetterNumber() const;
void setRandomizeLetterNumber(bool value);
private:
QStringList words;
QString motChoisi; // Mot choisi aléatoirement dans la liste, selon le nombre de lettres choisi par l'utilisateur
int letterNumber=7; // Nombre de lettres dans le mot, choisi par l'utilisateur
int tryNumber=0; // Nombre d'essais effectués, si tryNumber = nombre max, c'est perdu
QString dictionnaryChoosed="Motus\\words_alpha.txt"; // "Motus\\words_alpha.txt" ou "Motus\\mots_francais.txt"
int letterNumber; // Nombre de lettres dans le mot, choisi par l'utilisateur
bool randomizeletterNumber = true;
int tryNumber=0; // Nombre d'essais effectués, si tryNumber = nombre max, c'est perdu
QString dictionnaryChoosed="Motus\\words_alpha.txt"; // "Motus\\words_alpha.txt" ou "Motus\\mots_francais.txt"
QTimer *countdownTimer;
......@@ -48,7 +61,8 @@ private:
signals:
void dictionnaryChoosedChanged();
void timerUpdated();
void letterNumberChanged();
void randomizeLetterNumberChanged();
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment