7 files + 75 − 32 Side-by-side Compare changes Side-by-side Inline Show whitespace changes Files 7 applicationQT2048/CMakeLists.txt +1 −1 Original line number Original line Diff line number Diff line Loading @@ -21,7 +21,7 @@ qt_add_qml_module(appapplicationQT2048 SOURCES gamemanager.h gamemanager.cpp SOURCES gamemanager.h gamemanager.cpp SOURCES gamemanager.h gamemanager.cpp SOURCES gamemanager.h gamemanager.cpp QML_FILES Main.qml QML_FILES Main.qml QML_FILES popupDialogue.qml QML_FILES PopupDialogue.qml ) ) # Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1. # Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1. Loading applicationQT2048/GamePage.qml +8 −2 Original line number Original line Diff line number Diff line Loading @@ -5,6 +5,8 @@ FocusScope { // Permet de capter le focus pour les raccourcis clavier id: gamePage id: gamePage focus: true // Active le focus pour capter les événements clavier focus: true // Active le focus pour capter les événements clavier Rectangle { Rectangle { width: 400 width: 400 height: 600 height: 600 Loading Loading @@ -34,7 +36,11 @@ FocusScope { // Permet de capter le focus pour les raccourcis clavier } } PopupDialogue{ id : popup x : 100 y : 200 } Text { Text { Loading Loading @@ -142,7 +148,7 @@ FocusScope { // Permet de capter le focus pour les raccourcis clavier id: buttonMouseArea id: buttonMouseArea anchors.fill: parent anchors.fill: parent onClicked: gameManager.restartGame() onClicked: popup.open() } } } } Loading applicationQT2048/Main.qml +2 −2 Original line number Original line Diff line number Diff line import QtQuick 2.15 import QtQuick import QtQuick.Controls 2.15 import QtQuick.Controls ApplicationWindow { ApplicationWindow { visible: true visible: true Loading applicationQT2048/PopupDialogue.qml 0 → 100644 +50 −0 Original line number Original line Diff line number Diff line import QtQuick import QtQuick.Controls Popup { id: partieNameDialogue width: 250 height: 150 modal: true closePolicy: Popup.CloseOnEscape onOpened: textInput.text = "" Column { spacing: 10 width: parent.width padding: 10 Label { text: "Pour enregistrer la partie précédente, entrez un nom pour la partie.\nSi vous ne souhaitez pas enregistrer, appuyez sur Annuler." wrapMode: Text.Wrap width: parent.width } TextField { id: textInput width: parent.width placeholderText: "Ex: Partie 1" } Row { spacing: 10 width: parent.width Button { text: "OK" onClicked: { gameManager.restartGame(textInput.text); partieNameDialogue.close(); } } Button { text: "Annuler" onClicked: { gameManager.restartGame("false"); partieNameDialogue.close(); } } } } } applicationQT2048/gamemanager.cpp +13 −2 Original line number Original line Diff line number Diff line #include "gamemanager.h" #include "gamemanager.h" #include "random" #include "random" #include <QFileInfo> #include <QFileInfo> #include <QDebug> #include <QDebug> GameManager::GameManager(QObject *parent) : QObject(parent), grid(4, std::vector<int>(4, 0)),m_score(0), m_gameOver(false) { GameManager::GameManager(QObject *parent) : QObject(parent), grid(4, std::vector<int>(4, 0)),m_score(0), m_gameOver(false) { Loading Loading @@ -203,12 +202,19 @@ void GameManager::moveDown() { } } void GameManager::restartGame() { void GameManager::restartGame(QString partieName) { //demander pour sauvergarder la partie précédente //demander pour sauvergarder la partie précédente <<<<<<< HEAD if(partieName=="false"){ }else{ enregistrerPartie(partieName); }; ======= enregistrerPartie("partie1"); enregistrerPartie("partie1"); m_gameOver = false; m_gameOver = false; >>>>>>> e22daca7a3c09bd0a515d12093b0cbf7e3e4e152 // Réinitialisation des variables // Réinitialisation des variables Loading Loading @@ -408,6 +414,10 @@ int GameManager::score() const { return m_score; // Retourne le score actuel return m_score; // Retourne le score actuel } } <<<<<<< HEAD ======= void GameManager::calculscore(){ void GameManager::calculscore(){ if (m_gameOver) { // Si la partie est terminée, ne calcule pas le score if (m_gameOver) { // Si la partie est terminée, ne calcule pas le score return; return; Loading Loading @@ -438,3 +448,4 @@ bool GameManager::isGameOver() { } } return true; // Si la grille est pleine et aucune fusion n'est possible, la partie est terminée return true; // Si la grille est pleine et aucune fusion n'est possible, la partie est terminée } } >>>>>>> e22daca7a3c09bd0a515d12093b0cbf7e3e4e152 applicationQT2048/gamemanager.h +1 −1 Original line number Original line Diff line number Diff line Loading @@ -24,7 +24,7 @@ public: Q_INVOKABLE void moveRight(); Q_INVOKABLE void moveRight(); Q_INVOKABLE void moveUp(); Q_INVOKABLE void moveUp(); Q_INVOKABLE void moveDown(); Q_INVOKABLE void moveDown(); Q_INVOKABLE void restartGame(); Q_INVOKABLE void restartGame(QString partieName); Q_INVOKABLE void undo(); Q_INVOKABLE void undo(); Q_INVOKABLE void chargerPartie(QString partieName); Q_INVOKABLE void chargerPartie(QString partieName); bool isGameOver(); bool isGameOver(); Loading applicationQT2048/popupDialogue.qmldeleted 100644 → 0 +0 −24 Original line number Original line Diff line number Diff line import QtQuick import QtQuick.Controls import QtQuick.Dialogs Dialog { id: partieNameDialogue title: "Pour enregistrer la partie précédente entrez un nom pour la partie. Si vous ne souhaitez pas enregistrer cette partie appuyer sur Cancel." modal: true standardButtons: Dialog.Ok | Dialog.Cancel Column { spacing: 10 width: parent.width TextField { id: textInput width: parent.width placeholderText: "Ex: Partie 1" } } onAccepted: { gameManager.recupererNomPartie(textInput.text); } }
applicationQT2048/CMakeLists.txt +1 −1 Original line number Original line Diff line number Diff line Loading @@ -21,7 +21,7 @@ qt_add_qml_module(appapplicationQT2048 SOURCES gamemanager.h gamemanager.cpp SOURCES gamemanager.h gamemanager.cpp SOURCES gamemanager.h gamemanager.cpp SOURCES gamemanager.h gamemanager.cpp QML_FILES Main.qml QML_FILES Main.qml QML_FILES popupDialogue.qml QML_FILES PopupDialogue.qml ) ) # Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1. # Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1. Loading
applicationQT2048/GamePage.qml +8 −2 Original line number Original line Diff line number Diff line Loading @@ -5,6 +5,8 @@ FocusScope { // Permet de capter le focus pour les raccourcis clavier id: gamePage id: gamePage focus: true // Active le focus pour capter les événements clavier focus: true // Active le focus pour capter les événements clavier Rectangle { Rectangle { width: 400 width: 400 height: 600 height: 600 Loading Loading @@ -34,7 +36,11 @@ FocusScope { // Permet de capter le focus pour les raccourcis clavier } } PopupDialogue{ id : popup x : 100 y : 200 } Text { Text { Loading Loading @@ -142,7 +148,7 @@ FocusScope { // Permet de capter le focus pour les raccourcis clavier id: buttonMouseArea id: buttonMouseArea anchors.fill: parent anchors.fill: parent onClicked: gameManager.restartGame() onClicked: popup.open() } } } } Loading
applicationQT2048/Main.qml +2 −2 Original line number Original line Diff line number Diff line import QtQuick 2.15 import QtQuick import QtQuick.Controls 2.15 import QtQuick.Controls ApplicationWindow { ApplicationWindow { visible: true visible: true Loading
applicationQT2048/PopupDialogue.qml 0 → 100644 +50 −0 Original line number Original line Diff line number Diff line import QtQuick import QtQuick.Controls Popup { id: partieNameDialogue width: 250 height: 150 modal: true closePolicy: Popup.CloseOnEscape onOpened: textInput.text = "" Column { spacing: 10 width: parent.width padding: 10 Label { text: "Pour enregistrer la partie précédente, entrez un nom pour la partie.\nSi vous ne souhaitez pas enregistrer, appuyez sur Annuler." wrapMode: Text.Wrap width: parent.width } TextField { id: textInput width: parent.width placeholderText: "Ex: Partie 1" } Row { spacing: 10 width: parent.width Button { text: "OK" onClicked: { gameManager.restartGame(textInput.text); partieNameDialogue.close(); } } Button { text: "Annuler" onClicked: { gameManager.restartGame("false"); partieNameDialogue.close(); } } } } }
applicationQT2048/gamemanager.cpp +13 −2 Original line number Original line Diff line number Diff line #include "gamemanager.h" #include "gamemanager.h" #include "random" #include "random" #include <QFileInfo> #include <QFileInfo> #include <QDebug> #include <QDebug> GameManager::GameManager(QObject *parent) : QObject(parent), grid(4, std::vector<int>(4, 0)),m_score(0), m_gameOver(false) { GameManager::GameManager(QObject *parent) : QObject(parent), grid(4, std::vector<int>(4, 0)),m_score(0), m_gameOver(false) { Loading Loading @@ -203,12 +202,19 @@ void GameManager::moveDown() { } } void GameManager::restartGame() { void GameManager::restartGame(QString partieName) { //demander pour sauvergarder la partie précédente //demander pour sauvergarder la partie précédente <<<<<<< HEAD if(partieName=="false"){ }else{ enregistrerPartie(partieName); }; ======= enregistrerPartie("partie1"); enregistrerPartie("partie1"); m_gameOver = false; m_gameOver = false; >>>>>>> e22daca7a3c09bd0a515d12093b0cbf7e3e4e152 // Réinitialisation des variables // Réinitialisation des variables Loading Loading @@ -408,6 +414,10 @@ int GameManager::score() const { return m_score; // Retourne le score actuel return m_score; // Retourne le score actuel } } <<<<<<< HEAD ======= void GameManager::calculscore(){ void GameManager::calculscore(){ if (m_gameOver) { // Si la partie est terminée, ne calcule pas le score if (m_gameOver) { // Si la partie est terminée, ne calcule pas le score return; return; Loading Loading @@ -438,3 +448,4 @@ bool GameManager::isGameOver() { } } return true; // Si la grille est pleine et aucune fusion n'est possible, la partie est terminée return true; // Si la grille est pleine et aucune fusion n'est possible, la partie est terminée } } >>>>>>> e22daca7a3c09bd0a515d12093b0cbf7e3e4e152
applicationQT2048/gamemanager.h +1 −1 Original line number Original line Diff line number Diff line Loading @@ -24,7 +24,7 @@ public: Q_INVOKABLE void moveRight(); Q_INVOKABLE void moveRight(); Q_INVOKABLE void moveUp(); Q_INVOKABLE void moveUp(); Q_INVOKABLE void moveDown(); Q_INVOKABLE void moveDown(); Q_INVOKABLE void restartGame(); Q_INVOKABLE void restartGame(QString partieName); Q_INVOKABLE void undo(); Q_INVOKABLE void undo(); Q_INVOKABLE void chargerPartie(QString partieName); Q_INVOKABLE void chargerPartie(QString partieName); bool isGameOver(); bool isGameOver(); Loading
applicationQT2048/popupDialogue.qmldeleted 100644 → 0 +0 −24 Original line number Original line Diff line number Diff line import QtQuick import QtQuick.Controls import QtQuick.Dialogs Dialog { id: partieNameDialogue title: "Pour enregistrer la partie précédente entrez un nom pour la partie. Si vous ne souhaitez pas enregistrer cette partie appuyer sur Cancel." modal: true standardButtons: Dialog.Ok | Dialog.Cancel Column { spacing: 10 width: parent.width TextField { id: textInput width: parent.width placeholderText: "Ex: Partie 1" } } onAccepted: { gameManager.recupererNomPartie(textInput.text); } }