Skip to content
Snippets Groups Projects
Select Git revision
  • 74fe3b262763761970be25889b552c5984e1c88c
  • main default protected
2 results

gamemanager.h

Blame
  • gamemanager.h 1.11 KiB
    #ifndef GAMEMANAGER_H
    #define GAMEMANAGER_H
    
    #include <QObject>
    #include <vector>
    #include <QJsonArray>
    #include <QJsonObject>
    #include <QJsonDocument>
    #include <QFile>
    
    
    
    class GameManager : public QObject
    {
        Q_OBJECT
    
        Q_PROPERTY(QVector<int> gridValues READ getGridValues NOTIFY gridChanged)
        Q_PROPERTY(QStringList partieHistorique READ getPartieHistorique NOTIFY historiqueChanged)
    
    public:
        explicit GameManager(QObject *parent = nullptr);
        Q_INVOKABLE void moveLeft();
        Q_INVOKABLE void moveRight();
        Q_INVOKABLE void moveUp();
        Q_INVOKABLE void moveDown();
        Q_INVOKABLE void restartGame();
        Q_INVOKABLE void undo();
        Q_INVOKABLE void chargerPartie(QString partieName);
    
        QVector<int> getGridValues() const;
        QStringList getPartieHistorique();
    
    private:
        std::vector<std::vector<int>> grid;
        QJsonArray historyArray;
    
        Q_INVOKABLE void addRandomElement();
        Q_INVOKABLE void enregistrerPartie(QString partieName);
        Q_INVOKABLE void calculscore();
    
        QJsonArray gridToJsonArray();
    
    
    
    signals:
        void gridChanged();
        void historiqueChanged();
    
    
    };
    
    #endif // GAMEMANAGER_H