![]() |
PokerUnicorn
|
Poker game logic. More...
Data Structures | |
struct | pkrsrv_poker_hand_t |
struct | pkrsrv_poker_player_score_t |
struct | pkrsrv_poker_t |
struct | pkrsrv_poker_players_t |
struct | pkrsrv_poker_player_t |
struct | pkrsrv_poker_players_new_params_t |
struct | pkrsrv_poker_player_new_params_t |
struct | pkrsrv_poker_action_t |
struct | pkrsrv_poker_action_result_t |
struct | pkrsrv_poker_actions_t |
struct | pkrsrv_poker_actions_action_t |
struct | pkrsrv_poker_actions_action_new_params_t |
struct | pkrsrv_poker_new_params_t |
struct | pkrsrv_poker_on_action_params_t |
Typedefs | |
typedef void(* | pkrsrv_poker_on_action_t) (pkrsrv_eventloop_task_t *task) |
Functions | |
pkrsrv_poker_t * | pkrsrv_poker_new (pkrsrv_poker_new_params_t params) |
void | pkrsrv_poker_free (pkrsrv_poker_t *poker) |
pkrsrv_poker_hand_t * | pkrsrv_poker_get_current_hand (pkrsrv_poker_t *poker) |
pkrsrv_poker_actions_action_t * | pkrsrv_poker_get_last_action (pkrsrv_poker_t *poker) |
pkrsrv_poker_actions_action_t * | pkrsrv_poker_actions_action_new (pkrsrv_poker_actions_action_new_params_t params) |
void | pkrsrv_poker_actions_add (pkrsrv_poker_actions_t *actions, pkrsrv_poker_actions_action_t *action) |
pkrsrv_poker_players_t * | pkrsrv_poker_t::pkrsrv_poker_players_new (pkrsrv_poker_players_new_params_t params) |
void | pkrsrv_poker_t::pkrsrv_poker_players_free (pkrsrv_poker_players_t *players) |
bool | pkrsrv_poker_t::pkrsrv_poker_players_add (pkrsrv_poker_t *poker, pkrsrv_poker_player_t *player) |
void | pkrsrv_poker_t::pkrsrv_poker_players_remove (pkrsrv_poker_t *poker, pkrsrv_poker_player_t *player) |
void | pkrsrv_poker_t::pkrsrv_poker_players_get_sorted (pkrsrv_poker_t *poker, pkrsrv_poker_player_t **result) |
pkrsrv_poker_player_t * | pkrsrv_poker_t::pkrsrv_poker_players_getby_index (pkrsrv_poker_t *poker, int index) |
pkrsrv_poker_player_t * | pkrsrv_poker_t::pkrsrv_poker_players_getby_id (pkrsrv_poker_t *poker, uint64_t id) |
pkrsrv_poker_player_t * | pkrsrv_poker_t::pkrsrv_poker_players_getby_position (pkrsrv_poker_t *poker, int position) |
pkrsrv_poker_player_t * | pkrsrv_poker_t::pkrsrv_poker_players_getby_position_in_sorted (pkrsrv_poker_t *poker, pkrsrv_poker_player_t **sorted, int position) |
int | pkrsrv_poker_t::pkrsrv_poker_players_get_playable_count (pkrsrv_poker_t *poker) |
bool | pkrsrv_poker_t::pkrsrv_poker_player_is_playing (pkrsrv_poker_player_t *player) |
int | pkrsrv_poker_t::pkrsrv_poker_players_get_playing_count (pkrsrv_poker_t *poker) |
int | pkrsrv_poker_t::pkrsrv_poker_players_get_ingame_count (pkrsrv_poker_t *poker) |
int | pkrsrv_poker_t::pkrsrv_poker_players_get_mustplay_count (pkrsrv_poker_t *poker) |
bool | pkrsrv_poker_t::pkrsrv_poker_player_set_balance (pkrsrv_poker_player_t *player, uint64_t amount) |
bool | pkrsrv_poker_t::pkrsrv_poker_player_remove_balance (pkrsrv_poker_player_t *player, uint64_t amount) |
bool | pkrsrv_poker_t::pkrsrv_poker_player_add_balance (pkrsrv_poker_player_t *player, uint64_t amount) |
void | pkrsrv_poker_t::pkrsrv_poker_players_deal (pkrsrv_poker_t *poker) |
pkrsrv_poker_player_t * | pkrsrv_poker_t::pkrsrv_poker_player_new (pkrsrv_poker_player_new_params_t params) |
void | pkrsrv_poker_t::pkrsrv_poker_player_free (pkrsrv_poker_player_t *player) |
pkrsrv_poker_player_t * | pkrsrv_poker_t::pkrsrv_poker_players_addby_account (pkrsrv_poker_t *poker, pkrsrv_account_t *account, int position) |
void | pkrsrv_poker_t::pkrsrv_poker_player_deal (pkrsrv_poker_t *poker, pkrsrv_poker_player_t *player) |
void | pkrsrv_poker_t::pkrsrv_poker_deal (pkrsrv_poker_t *poker) |
void | pkrsrv_poker_t::pkrsrv_poker_ready (pkrsrv_poker_t *poker) |
void | pkrsrv_poker_t::pkrsrv_poker_starting (pkrsrv_poker_t *poker) |
bool | pkrsrv_poker_t::pkrsrv_poker_start (pkrsrv_poker_t *poker) |
void | pkrsrv_poker_t::pkrsrv_poker_proceed (pkrsrv_poker_t *poker) |
bool | pkrsrv_poker_t::pkrsrv_poker_restart (pkrsrv_poker_t *poker) |
int | pkrsrv_poker_t::pkrsrv_poker_get_last_playing_position (pkrsrv_poker_t *poker, pkrsrv_poker_player_t *action_player) |
pkrsrv_poker_action_result_t | pkrsrv_poker_t::pkrsrv_poker_do_action (pkrsrv_poker_t *poker, pkrsrv_poker_player_t *player, pkrsrv_poker_action_t action) |
Poker game logic.
struct pkrsrv_poker_hand |
! Stored in (pkrsrv_poker_t *)->actions* (linked-list)
Data Fields | ||
---|---|---|
pkrsrv_poker_hand_kind_t | kind | |
pkrsrv_card_t | cards[3] | |
bool | is_checked | |
pkrsrv_poker_actions_t * | actions | |
bool | is_raised |
struct pkrsrv_poker |
! ! Gets serialized to save every state to database
Public Member Functions | |
pkrsrv_poker_players_t * | pkrsrv_poker_players_new (pkrsrv_poker_players_new_params_t params) |
void | pkrsrv_poker_players_free (pkrsrv_poker_players_t *players) |
bool | pkrsrv_poker_players_add (pkrsrv_poker_t *poker, pkrsrv_poker_player_t *player) |
void | pkrsrv_poker_players_remove (pkrsrv_poker_t *poker, pkrsrv_poker_player_t *player) |
void | pkrsrv_poker_players_get_sorted (pkrsrv_poker_t *poker, pkrsrv_poker_player_t **result) |
pkrsrv_poker_player_t * | pkrsrv_poker_players_getby_index (pkrsrv_poker_t *poker, int index) |
pkrsrv_poker_player_t * | pkrsrv_poker_players_getby_id (pkrsrv_poker_t *poker, uint64_t id) |
pkrsrv_poker_player_t * | pkrsrv_poker_players_getby_position (pkrsrv_poker_t *poker, int position) |
pkrsrv_poker_player_t * | pkrsrv_poker_players_getby_position_in_sorted (pkrsrv_poker_t *poker, pkrsrv_poker_player_t **sorted, int position) |
int | pkrsrv_poker_players_get_playable_count (pkrsrv_poker_t *poker) |
bool | pkrsrv_poker_player_is_playing (pkrsrv_poker_player_t *player) |
int | pkrsrv_poker_players_get_playing_count (pkrsrv_poker_t *poker) |
int | pkrsrv_poker_players_get_ingame_count (pkrsrv_poker_t *poker) |
int | pkrsrv_poker_players_get_mustplay_count (pkrsrv_poker_t *poker) |
bool | pkrsrv_poker_player_set_balance (pkrsrv_poker_player_t *player, uint64_t amount) |
bool | pkrsrv_poker_player_remove_balance (pkrsrv_poker_player_t *player, uint64_t amount) |
bool | pkrsrv_poker_player_add_balance (pkrsrv_poker_player_t *player, uint64_t amount) |
void | pkrsrv_poker_players_deal (pkrsrv_poker_t *poker) |
pkrsrv_poker_player_t * | pkrsrv_poker_player_new (pkrsrv_poker_player_new_params_t params) |
void | pkrsrv_poker_player_free (pkrsrv_poker_player_t *player) |
pkrsrv_poker_player_t * | pkrsrv_poker_players_addby_account (pkrsrv_poker_t *poker, pkrsrv_account_t *account, int position) |
void | pkrsrv_poker_player_deal (pkrsrv_poker_t *poker, pkrsrv_poker_player_t *player) |
void | pkrsrv_poker_deal (pkrsrv_poker_t *poker) |
void | pkrsrv_poker_ready (pkrsrv_poker_t *poker) |
void | pkrsrv_poker_starting (pkrsrv_poker_t *poker) |
bool | pkrsrv_poker_start (pkrsrv_poker_t *poker) |
void | pkrsrv_poker_proceed (pkrsrv_poker_t *poker) |
bool | pkrsrv_poker_restart (pkrsrv_poker_t *poker) |
int | pkrsrv_poker_get_last_playing_position (pkrsrv_poker_t *poker, pkrsrv_poker_player_t *action_player) |
pkrsrv_poker_action_result_t | pkrsrv_poker_do_action (pkrsrv_poker_t *poker, pkrsrv_poker_player_t *player, pkrsrv_poker_action_t action) |
Data Fields | |
pkrsrv_ref_counted_t | ref_counted |
void * | owner |
pkrsrv_eventloop_t * | eventloop |
int | process_latency |
pkrsrv_table_t * | table |
pkrsrv_poker_players_t * | players |
pkrsrv_poker_player_t ** | sorted_players |
pkrsrv_poker_state_t | state |
pkrsrv_poker_hand_t | hand_preflop |
pkrsrv_poker_hand_t | hand_flop |
pkrsrv_poker_hand_t | hand_turn |
pkrsrv_poker_hand_t | hand_river |
pkrsrv_poker_hand_kind_t | hand_kind |
uint64_t | action_time |
uint64_t | proceed_time |
uint64_t | starting_time |
pkrsrv_card_t | card_history [52] |
uint64_t | current_raise |
uint64_t | current_raise_total |
uint64_t | current_bet |
int | button_position |
int | playing_position |
uint64_t | pot_amount |
int | starter_players_num |
int | last_raised_pos |
int | last_pos_before_last_raise |
int | synced_action_counter |
bool | is_playing_last |
bool | is_sb_must_call |
pkrsrv_poker_on_action_t | on_action |
pkrsrv_poker_player_t * | winner |
pkrsrv_card_score_result_t | winner_score_result |
pkrsrv_poker_player_score_t | scores [10] |
int | scores_length |
pkrsrv_ref_counted_t pkrsrv_poker_t::ref_counted |
void* pkrsrv_poker_t::owner |
pkrsrv_eventloop_t* pkrsrv_poker_t::eventloop |
int pkrsrv_poker_t::process_latency |
pkrsrv_table_t* pkrsrv_poker_t::table |
pkrsrv_poker_players_t* pkrsrv_poker_t::players |
pkrsrv_poker_player_t** pkrsrv_poker_t::sorted_players |
pkrsrv_poker_state_t pkrsrv_poker_t::state |
pkrsrv_poker_hand_t pkrsrv_poker_t::hand_preflop |
pkrsrv_poker_hand_t pkrsrv_poker_t::hand_flop |
pkrsrv_poker_hand_t pkrsrv_poker_t::hand_turn |
pkrsrv_poker_hand_t pkrsrv_poker_t::hand_river |
pkrsrv_poker_hand_kind_t pkrsrv_poker_t::hand_kind |
uint64_t pkrsrv_poker_t::action_time |
uint64_t pkrsrv_poker_t::proceed_time |
uint64_t pkrsrv_poker_t::starting_time |
pkrsrv_card_t pkrsrv_poker_t::card_history[52] |
uint64_t pkrsrv_poker_t::current_raise |
uint64_t pkrsrv_poker_t::current_raise_total |
uint64_t pkrsrv_poker_t::current_bet |
int pkrsrv_poker_t::button_position |
int pkrsrv_poker_t::playing_position |
uint64_t pkrsrv_poker_t::pot_amount |
int pkrsrv_poker_t::starter_players_num |
int pkrsrv_poker_t::last_raised_pos |
int pkrsrv_poker_t::last_pos_before_last_raise |
int pkrsrv_poker_t::synced_action_counter |
bool pkrsrv_poker_t::is_playing_last |
bool pkrsrv_poker_t::is_sb_must_call |
pkrsrv_poker_on_action_t pkrsrv_poker_t::on_action |
pkrsrv_poker_player_t* pkrsrv_poker_t::winner |
pkrsrv_card_score_result_t pkrsrv_poker_t::winner_score_result |
pkrsrv_poker_player_score_t pkrsrv_poker_t::scores[10] |
int pkrsrv_poker_t::scores_length |
struct pkrsrv_poker_players |
struct pkrsrv_poker_player |
struct pkrsrv_poker_player_new_params_t |
struct pkrsrv_poker_action |
! Serializable, client builds and sends to do action, server interprets and adds to the circle
Data Fields | ||
---|---|---|
pkrsrv_account_t | account | |
pkrsrv_poker_actions_action_kind_t | kind | |
uint64_t | amount |
struct pkrsrv_poker_actions |
struct pkrsrv_poker_actions_action |
struct pkrsrv_poker_actions_action_new_params_t |
struct pkrsrv_poker_new_params_t |
Data Fields | ||
---|---|---|
void * | owner | |
pkrsrv_table_t * | table | |
pkrsrv_poker_on_action_t | on_action | |
pkrsrv_eventloop_t * | eventloop |
struct pkrsrv_poker_on_action_params |
typedef void(* pkrsrv_poker_on_action_t) (pkrsrv_eventloop_task_t *task) |
enum pkrsrv_poker_state_t |
pkrsrv_poker_t * pkrsrv_poker_new | ( | pkrsrv_poker_new_params_t | params | ) |
void pkrsrv_poker_free | ( | pkrsrv_poker_t * | poker | ) |
pkrsrv_poker_hand_t * pkrsrv_poker_get_current_hand | ( | pkrsrv_poker_t * | poker | ) |
pkrsrv_poker_actions_action_t * pkrsrv_poker_get_last_action | ( | pkrsrv_poker_t * | poker | ) |
pkrsrv_poker_actions_action_t * pkrsrv_poker_actions_action_new | ( | pkrsrv_poker_actions_action_new_params_t | params | ) |
void pkrsrv_poker_actions_add | ( | pkrsrv_poker_actions_t * | actions, |
pkrsrv_poker_actions_action_t * | action ) |
pkrsrv_poker_players_t * pkrsrv_poker_players_new | ( | pkrsrv_poker_players_new_params_t | params | ) |
void pkrsrv_poker_players_free | ( | pkrsrv_poker_players_t * | players | ) |
bool pkrsrv_poker_players_add | ( | pkrsrv_poker_t * | poker, |
pkrsrv_poker_player_t * | player ) |
void pkrsrv_poker_players_remove | ( | pkrsrv_poker_t * | poker, |
pkrsrv_poker_player_t * | player ) |
void pkrsrv_poker_players_get_sorted | ( | pkrsrv_poker_t * | poker, |
pkrsrv_poker_player_t ** | result ) |
pkrsrv_poker_player_t * pkrsrv_poker_players_getby_index | ( | pkrsrv_poker_t * | poker, |
int | index ) |
pkrsrv_poker_player_t * pkrsrv_poker_players_getby_id | ( | pkrsrv_poker_t * | poker, |
uint64_t | id ) |
pkrsrv_poker_player_t * pkrsrv_poker_players_getby_position | ( | pkrsrv_poker_t * | poker, |
int | position ) |
pkrsrv_poker_player_t * pkrsrv_poker_players_getby_position_in_sorted | ( | pkrsrv_poker_t * | poker, |
pkrsrv_poker_player_t ** | sorted, | ||
int | position ) |
int pkrsrv_poker_players_get_playable_count | ( | pkrsrv_poker_t * | poker | ) |
bool pkrsrv_poker_player_is_playing | ( | pkrsrv_poker_player_t * | player | ) |
int pkrsrv_poker_players_get_playing_count | ( | pkrsrv_poker_t * | poker | ) |
int pkrsrv_poker_players_get_ingame_count | ( | pkrsrv_poker_t * | poker | ) |
int pkrsrv_poker_players_get_mustplay_count | ( | pkrsrv_poker_t * | poker | ) |
bool pkrsrv_poker_player_set_balance | ( | pkrsrv_poker_player_t * | player, |
uint64_t | amount ) |
bool pkrsrv_poker_player_remove_balance | ( | pkrsrv_poker_player_t * | player, |
uint64_t | amount ) |
bool pkrsrv_poker_player_add_balance | ( | pkrsrv_poker_player_t * | player, |
uint64_t | amount ) |
void pkrsrv_poker_players_deal | ( | pkrsrv_poker_t * | poker | ) |
Deals the cards to the all playing players
pkrsrv_poker_player_t * pkrsrv_poker_player_new | ( | pkrsrv_poker_player_new_params_t | params | ) |
void pkrsrv_poker_player_free | ( | pkrsrv_poker_player_t * | player | ) |
pkrsrv_poker_player_t * pkrsrv_poker_players_addby_account | ( | pkrsrv_poker_t * | poker, |
pkrsrv_account_t * | account, | ||
int | position ) |
void pkrsrv_poker_player_deal | ( | pkrsrv_poker_t * | poker, |
pkrsrv_poker_player_t * | player ) |
void pkrsrv_poker_deal | ( | pkrsrv_poker_t * | poker | ) |
Deals the cards to the all playing players
void pkrsrv_poker_ready | ( | pkrsrv_poker_t * | poker | ) |
void pkrsrv_poker_starting | ( | pkrsrv_poker_t * | poker | ) |
Sets the poker state to starting
bool pkrsrv_poker_start | ( | pkrsrv_poker_t * | poker | ) |
Starts the game, does SB and BB actions
void pkrsrv_poker_proceed | ( | pkrsrv_poker_t * | poker | ) |
bool pkrsrv_poker_restart | ( | pkrsrv_poker_t * | poker | ) |
int pkrsrv_poker_get_last_playing_position | ( | pkrsrv_poker_t * | poker, |
pkrsrv_poker_player_t * | action_player ) |
Gives the actual player who will act last in the current round if a raise doesn't happen
pkrsrv_poker_action_result_t pkrsrv_poker_do_action | ( | pkrsrv_poker_t * | poker, |
pkrsrv_poker_player_t * | player, | ||
pkrsrv_poker_action_t | action ) |