-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTupleNetwork.h
42 lines (36 loc) · 1.03 KB
/
TupleNetwork.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
#ifndef __TUPLENETWORK_H__
#define __TUPLENETWORK_H__
#include <fstream>
#include <string>
#include "../GameBoard.h"
#include "Tuple.h"
#include "TupleContainer.h"
#include "IsomorphicTupleContainer.h"
#include "TupleCollection.h"
#include "LargeTileFeature.h"
#include "MergeFeature.h"
using std::fstream;
using std::string;
class TupleNetwork
{
public:
static TupleNetwork tuple_network_;
// static TupleNetwork tuple_network_2;
// static TupleNetwork tuple_network_3;
// static TupleNetwork tuple_network_4;
// static TupleNetwork tuple_network_5;
public:
TupleNetwork();
~TupleNetwork();
double get_board_value(const GameBoard& board) const;
void update_board_value(const GameBoard& board, const double& value);
void save_tuple_network(const string& filename) const;
void load_tuple_network(const string& filename);
GameBoard get_masquerade_board(const GameBoard& board) const;
static int compare_tile (const void *a, const void *b);
private:
Tuple* create_isomorphic_tuple_collection() const;
private:
Tuple* tuples;
};
#endif