aboutsummaryrefslogtreecommitdiff
path: root/include/game.hpp
blob: 550b47a612f3e6cac15b4dc69adbd6145eb7ff68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef GAME_HPP
# define GAME_HPP

#include <cstdlib>
#include <vector>
#include <utility>
#include "2048.hpp"

class Game
{
    public:
    Game(int s);
    ~Game();
    int getSize();
    int at(int x, int y);
    void move(Direction direction);
    void spawn();
    bool lost();

    private:
    int size;
    int **grid;
    void mergeRow(std::vector<int> &row);
    int **gridCopy();
    bool gridEqual(int **other);
    void gridDestroy(int **g);
};

#endif