diff --git a/motus/CMakeLists.txt b/motus/CMakeLists.txt index bd2571fbcdc12fb73f708f2c4fe8716376274d78..2aa1556a6910195b21f94a7de8f5c8f7157506f2 100644 --- a/motus/CMakeLists.txt +++ b/motus/CMakeLists.txt @@ -37,7 +37,7 @@ qt_add_qml_module(appmotus SOURCES jeu.h jeu.cpp SOURCES QML_FILES Case.qml - QML_FILES Grille.qml + QML_FILES SOURCES lettermodel.h lettermodel.cpp ) diff --git a/motus/Grille.qml b/motus/Grille.qml deleted file mode 100644 index bf3708c533a41bff9ce18a6c0703f3e72bf930c2..0000000000000000000000000000000000000000 --- a/motus/Grille.qml +++ /dev/null @@ -1,18 +0,0 @@ -import QtQuick -import QtQuick.Controls - -Grid { - id: grille - rows: jeu.grilleManager.rows // Get the number of rows dynamically - columns: jeu.grilleManager.columns // Get the number of columns dynamically - spacing: 5 - - // Use a Repeater to populate the grid with cases - Repeater { - model: jeu.grilleManager.cases - delegate: Case { - letter: modelData.letter - etat: modelData.etat - } - } -} diff --git a/motus/brain.cpp b/motus/brain.cpp index 0ebc8d962c0e98575a4c3a4621aa512aeabb99e7..23d5cdb5bdbb40376fd36f61dfe7f3bcc0b76a72 100644 --- a/motus/brain.cpp +++ b/motus/brain.cpp @@ -94,7 +94,7 @@ void Brain::trouveMot() { cout << "Mot de taille : " << mTailleMot << " dans " << dico << endl; while (std::getline(file, line)) { if (line.length() == mTailleMot + 1) { - listeMots.push_back(line.substr(0, 8)); + listeMots.push_back(line.substr(0, mTailleMot)); } } diff --git a/motus/jeu.cpp b/motus/jeu.cpp index 4b1444ebd90efde526522409beb2de1fa1a024b7..96a47bdf2a35d0d2236a23a911c166450da4b3f2 100644 --- a/motus/jeu.cpp +++ b/motus/jeu.cpp @@ -5,34 +5,26 @@ Jeu::Jeu(QObject* rootObject, QObject *parent) : QObject(parent), rootObject(rootObject) { brain = new Brain("./"); -} - -// void Jeu::setMot(const QString& mot) { -// this->mot = mot; -// grilleManager.createGrid(mot.length(), 1); // Utilise la longueur du mot pour la grille -// emit motChanged(); -// } + width = 8; + height = 5; +} QString Jeu::getMotAffiche() { return mot; } void Jeu::onClavierClick(QString lettre) { - - - if (!m_letterModel) return; - if (currentIndex < 40) { // on évite de dépasser la grille + if (currentIndex < width*height) { m_letterModel->setLetter(currentIndex, lettre); currentIndex++; } - brain->entreLettre(lettre.toStdString()[0]); - for (int index = 0; index < 40; index ++) { + for (int index = 0; index < width*height; index ++) { m_letterModel->setLetter(index, QString::fromLatin1(&brain->getGrid()[index], 1)); } } @@ -46,12 +38,10 @@ void Jeu::initGame() { void Jeu::startGame() { brain->setFichierDico("words_alpha.txt"); - brain->setNombreEssais(5); - brain->setTailleMots(8); + brain->setNombreEssais(height); + brain->setTailleMots(width); brain->initGame(); - - // grilleManager.createGrid(6, 5); // à synchroniser avec les paramètres du brain } void Jeu::setLetterModel(LetterModel* model) { diff --git a/motus/jeu.h b/motus/jeu.h index 6d9c03d63ee9935868901cdd166a36b7ce4ccb7c..056333a1ef52259afec1b9d75e42e9fe6c6091bc 100644 --- a/motus/jeu.h +++ b/motus/jeu.h @@ -33,6 +33,8 @@ private: QQuickItem* gameWindow; // Pointer to the QQuickItem of the GameWindow LetterModel* m_letterModel = nullptr; // Modèle QML int currentIndex = 0; // Pour suivre où on écrit + int width; + int height; }; #endif // JEU_H diff --git a/motus/ligne.cpp b/motus/ligne.cpp index 51c01db3eee34966199e873c6c6230dc2fe8a007..8373c23bc3a76180e6ce3806dd6796d90065ba35 100644 --- a/motus/ligne.cpp +++ b/motus/ligne.cpp @@ -4,7 +4,6 @@ #include "iostream" #include <cctype> using namespace std; -#include <QString> Ligne::Ligne(string bonmot) : bonmot(bonmot), positionCurseur(0) {}