From fae209a9e93400c3a2072befda9c820634cf9278 Mon Sep 17 00:00:00 2001 From: Vegard Storheil Eriksen Date: Sat, 25 Dec 2010 12:54:59 +0100 Subject: Restructured repository. --- server/player.h | 118 -------------------------------------------------------- 1 file changed, 118 deletions(-) delete mode 100644 server/player.h (limited to 'server/player.h') diff --git a/server/player.h b/server/player.h deleted file mode 100644 index a4b3416..0000000 --- a/server/player.h +++ /dev/null @@ -1,118 +0,0 @@ -#ifndef PLAYER_H -#define PLAYER_H - -#include "client.h" -#include "score.h" - -#include "../common/set.h" -#include "../common/cyclicint.h" -#include "../common/state.h" -#include "../common/action.h" - -typedef CyclicInt<4> PlayerNum; - -class Player { - public: - ClientBase::p client; - - Tiles hand; - Sets open; - Tiles pond; - bool riichi; - int score; - int wind; - - //! Indexes of tiles that will give tenpai (used after riichi declaration). - List tenpai_indexes; - - //! Player has won. - bool won; - - //! List of han in winning hand. - List > won_han; - - //! Value of winning hand. - Score won_value; - - //! Prepare for a new round. - void round_start(int w); - - //! Get a state snapshot. - PlayerState get_state(); - - //! Get a state snapshot, with concealed tiles filtered. - PlayerState get_state_filtered(); - - //! Get possible actions after a draw. - Actions get_actions_draw(); - - //! Get possible actions on discarded tile. - Actions get_actions_discard(Tile tile, PlayerNum discarder); - - typedef std::vector Targets; - - //! Check if player can declare riichi. - bool can_riichi(); - - //! Check if tile can be called for a chi. - Targets can_chi(Tile tile); - - //! Check if tile can be called for a pon. - int can_pon(Tile tile); - - //! Check if it's possible to make a concealed kan. - Targets can_kan(); - - //! Check if it's possible to extend a pon to a kan. - Targets can_kan_extend(); - - //! Check if tile can be called to kan target. - bool can_kan(Tile tile, int target); - - //! Check if hand is complete. - bool can_tsumo(); - - //! Check if tile can be called to complete hand. - bool can_ron(Tile tile); - - //! Draw tile. - void draw(Tile tile); - - //! Discard tile. - void discard(int target); - - //! Look at last discard in pond. - Tile last_discard(); - - //! Claim last discard from pond. - Tile claim(); - - //! Declare riichi. - void declare_riichi(); - - //! Make chi from tile. - void make_chi(Tile tile, int target); - - //! Make pon from tile. - void make_pon(Tile tile, int target, PlayerNum discarder); - - //! Make open kan from tile. - void make_kan(Tile tile, int target, PlayerNum discarder); - - //! Make concealed kan. - void make_kan(int target); - - //! Make extended kan. - void make_kan_extend(int target); - - //! Declare win on discarded tile. - void declare_ron(Tile tile); - - //! Declare win on self-drawn tile. - void declare_tsumo(); - - //! Calculate score for winning hand combination. - Score calculate_score(const Sets& hand, List >& han, bool tsumo); -}; - -#endif -- cgit v1.2.3