summaryrefslogtreecommitdiff
path: root/server/wall.h
blob: aeef031dd9e2939d669e38df634db2bd45ea0cec (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
30
#ifndef WALL_H
#define WALL_H

#include "../common/tile.h"

#include <boost/random/mersenne_twister.hpp>
#include <vector>

class Wall {
	private:
		//! Our random number generator. Initialized with a seed of the current time that the object is constructed.
		boost::mt19937 rand_gen;
	
		//! Contains the remaining tiles in the wall.
		std::vector<Tile> wall;
		
	public:
		Wall();
		
		//! Build a new wall.
		void build();
		
		//! Number of remaining tiles in wall.
		int remaining();
		
		//! Returns a random tile from the wall.
		Tile take_one();
};

#endif // WALL_H