diff --git a/Motus/Case.qml b/Motus/Case.qml index 0c4e67410dbeef9845561557b6701ea20582d853..4dfb9c13e08c18b45f4ea53212dd908fb4590239 100644 --- a/Motus/Case.qml +++ b/Motus/Case.qml @@ -6,10 +6,16 @@ Item { height: 70 property alias rectangleBorderColor: rectangle.border.color property alias rectangleColor: rectangle.color - focus: false + property alias rectangleBorderwidth: rectangle.border.width property alias _textText: _text.text + focus: false + + function resetFocus() { + focus = true + } + Rectangle { id: rectangle width: 70 diff --git a/Motus/Main.qml b/Motus/Main.qml index b736f0ae6981efe3d3e4c3dfd623918484c1512b..8efa56171d798cd17af810748d02ec65b4b26091 100644 --- a/Motus/Main.qml +++ b/Motus/Main.qml @@ -134,7 +134,10 @@ Window { case_focus = caseArray[current_essai * nb_lettres]; } else { // Fin de partie : désactiver l'interface ou afficher un message - mot = ""; + if (mot_rentre!=mot){ + + motusGame.loosetry=true;} + } } else { // Le mot n'existe pas dans le dictionnaire : colorer toute la ligne en rouge @@ -200,9 +203,25 @@ Window { MouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor - enabled: motusGame.win || motusGame.loosetry || motusGame.loosetime || !motusGame.debut + enabled: motusGame && (motusGame.win || motusGame.loosetry || motusGame.loosetime || !motusGame.debut) onClicked: { + // 1. Réinitialiser les indices AVANT de tout + current_essai = 0; + indice_case = 0; + + // 2. Vider toutes les cases + for (var i = 0; i < caseArray.length; i++) { + caseArray[i]._textText = ""; + caseArray[i].rectangleColor = "#323232"; + caseArray[i].rectangleBorderColor = "#ffffff"; + } + + // 3. Vider les touches clavier + for (var j = 0; j < keysArray.length; j++) { + keysArray[j].keyColor = "#808080"; + } + // Début d'une partie, désactivation des boutons de régénération, etc. motusGame.debut=true; mot = motusGame.getRandomWord(nb_lettres); @@ -213,6 +232,8 @@ Window { case3._textText = mot; mot_split = mot.split(""); console.log(mot_split); + + } } } @@ -507,7 +528,7 @@ Window { Text { y: 32 - text: "Temps écoulé ! Mot : "+mot + text: "Temps écoulé ! Mot : "+ mot visible: motusGame && motusGame.loosetime color: "red" font.pixelSize: 30 @@ -516,7 +537,7 @@ Window { Text { y: 32 - text: "Nombre d'essais maximum atteint ! Mot : "+mot + text: "Nombre d'essais maximum atteint ! Mot : "+ mot visible: motusGame && motusGame.loosetry color: "red" font.pixelSize: 30 diff --git a/Motus/motusgame.cpp b/Motus/motusgame.cpp index 6f9ba3265e671199865bcaaddc1320a34ebdfedc..a43439ea6fd189d6ba42a2e94af287af57bfb3d8 100644 --- a/Motus/motusgame.cpp +++ b/Motus/motusgame.cpp @@ -95,7 +95,7 @@ bool MotusGame::existWord(const QString &word) { QString MotusGame::getRandomWord(int letterCount) { // Vérifier que le nombre de lettres est dans l'intervalle autorisé - if (letterCount < 4 || letterCount > 12) { + if (letterCount < 5 || letterCount > 12) { qDebug() << "❌ Nombre de lettres invalide. Choisissez un nombre entre 4 et 12."; return ""; } @@ -131,7 +131,7 @@ void MotusGame::setDictionnaryChoosed(const QString &value) { void MotusGame::startTimer() { qDebug() << "🔁 startTimer() appelé"; - remainingTime = 5; + remainingTime = duree_timer; emit timerUpdated(); countdownTimer->stop(); diff --git a/Motus/motusgame.h b/Motus/motusgame.h index eeebd32ac965935f833b87ccad544dfa28139a5a..5963e2e0e4aade83f4165ecbd1f09a57a91fc667 100644 --- a/Motus/motusgame.h +++ b/Motus/motusgame.h @@ -84,6 +84,7 @@ private: bool loosetime = false; bool win = false; bool debut = false; + int duree_timer=120; void loadWords();