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

verif mot existant (non focntionnel)

parent c646b68d
No related merge requests found
......@@ -24,6 +24,7 @@ Window {
property int nb_essais: arrayTry[nb_lettres - 4]
property string mot: ""
property var mot_split: []
property var wordsByLength: motusGame.wordsByLength
// Rectangle principal qui couvre la fenêtre
Rectangle {
......@@ -58,11 +59,17 @@ Window {
// On ne passe à la ligne suivante que si la ligne est complètement remplie
console.log(indice_case);
if (indice_case === nb_lettres) {
var mot_entre = "";
for (var i = 0; i<nb_lettres; i++){
mot_entre += caseArray[current_essai * nb_lettres + indice_case];
}
if (motusGame.existWord(QString(mot_entre)) === true){
// Vérification de la proposition sur la ligne actuelle
for (var ind_verif = 0; ind_verif < nb_lettres; ind_verif++) {
var case_verif = caseArray[current_essai * nb_lettres + ind_verif];
for (i = 0; i < nb_lettres; i++) {
var case_verif = caseArray[current_essai * nb_lettres + i];
var lettre_verif = case_verif._textText;
if (lettre_verif === mot_split[ind_verif].toUpperCase()) {
if (lettre_verif === mot_split[i].toUpperCase()) {
case_verif.rectangleColor = "#42cc3d";
case_verif.rectangleBordercolor = "#42cc3d";
} else {
......@@ -83,6 +90,16 @@ Window {
// Fin de partie : vous pouvez désactiver l'interface ou afficher un message
mot = "";
}
}
else{
for (i = 0; i < nb_lettres; i++) {
case_verif = caseArray[current_essai * nb_lettres + i];
case_verif.rectangleColor = "#cf1b2a";
case_verif.rectangleBordercolor = "#cf1b2a";
revertTimer.start();
}
}
event.accepted = true;
}
}
......@@ -90,6 +107,19 @@ Window {
}
// Disposition globale en colonne
Timer {
id: revertTimer
interval: 1000 // 1 seconde (1000 millisecondes)
repeat: false // Ne se répète pas
onTriggered: {
// Réinitialiser la couleur
for (i = 0; i < nb_lettres; i++) {
case_verif = caseArray[current_essai * nb_lettres + i];
case_verif.rectangleColor = "#323232";
case_verif.rectangleBordercolor = "#ffffff";
}
}
}
Row {
id: main_row
......
......@@ -23,7 +23,6 @@ int main(int argc, char *argv[])
[]() { QCoreApplication::exit(-1); },
Qt::QueuedConnection);
engine.loadFromModule("Motus", "Main");
engine.load(QUrl("qrc:/qt/qml/Motus/Main.qml"));
return app.exec();
}
......@@ -69,6 +69,22 @@ void MotusGame::loadWords() {
}
}
bool MotusGame::existWord(const QString &word) {
int n = word.size();
bool exists = false;
// Supposons que wordsByLength est un QMap<int, QStringList>
const QStringList &list = wordsByLength[n];
for (int i = 0; i < list.size(); i++) {
if (list[i] == word) {
exists = true;
break; // On arrête la recherche dès qu'on trouve le mot
}
}
return exists;
}
QString MotusGame::getRandomWord(int letterCount) {
// Vérifier que le nombre de lettres est dans l'intervalle autorisé
if (letterCount < 4 || letterCount > 12) {
......
......@@ -38,6 +38,7 @@ public:
void setLetterNumber(int value);
bool getRandomizeLetterNumber() const;
void setRandomizeLetterNumber(bool value);
bool existWord(const QString &word);
......@@ -48,10 +49,11 @@ private:
QMap<int, QStringList> wordsByLength;
int letterNumber; // Nombre de lettres dans le mot, choisi par l'utilisateur
int letterNumber = 5; // 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
int tryTotal=6; // Nombre d'essais total
int tryNumber=0;
QString dictionnaryChoosed="Motus\\words_alpha.txt"; // "Motus\\words_alpha.txt" ou "Motus\\mots_francais.txt"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment