summaryrefslogtreecommitdiff
path: root/server/hand.h
blob: 46ae40a6fb4a227f6db710ad76feccfb7d811724 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef HAND_H
#define HAND_H

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

namespace Hand {
	//! Check if the tiles constitute a complete hand. Also valid for the concealed part of an open hand.
	bool agari(const Tiles& tiles);
	
	// Check if the tiles is matching the normal format of one pair and rest triplets.
	bool basic_format(const Tiles& tiles, bool pair_eaten = false);
	
	// Eat a pair from beginning of list if possible and return rest, else return empty list.
	Tiles eat_pair(Tiles tiles);
	
	// Eat a pon from beginning of list if possible and return rest, else return empty list.
	Tiles eat_pon(Tiles tiles);
	
	// Eat a chi from beginning of list if possible and return rest, else return empty list.
	Tiles eat_chi(Tiles tiles);
}

#endif