Select Git revision
Forked from
Dellandrea Emmanuel / MOD_4_6-TD2
Source project has a limited visibility.
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