-
Notifications
You must be signed in to change notification settings - Fork 6
/
game.h
53 lines (36 loc) · 838 Bytes
/
game.h
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#pragma once
#include "hashed.h"
#include "state.h"
struct Game
{
struct HeroInfo
{
HeroInfo();
HeroInfo(const PTree& root);
bool
is_real_bot() const;
std::string name;
std::string user_id; // optional
int elo; // optional
bool crashed; // optional
};
typedef boost::array<HeroInfo, 4> HeroInfos;
Game(const PTree& root);
bool
is_finished() const;
void
update(const Direction& direction);
void
update(const PTree& root);
void
status(std::ostream& os) const;
const Tiles background_tiles;
const HashedPair<Tiles> hashed_background_tiles;
const HeroInfos hero_infos;
const int turn_max;
int turn;
State state;
private:
Game&
operator=(const Game& game); // no assignement
};