feat: refactor AlgorithmicEvaluator to stateless, add game engine module and holdem_sim CLI
- Refactor AlgorithmicEvaluator from stateful Arc<Evaluator> wrapper to pure stateless evaluator with zero-allocation construction - Extract shared evaluation logic into pub(crate) methods, eliminating ~220 lines of duplicated code from Evaluator - Add game module: table, hand runner, tournament, bots, config, stats - Add holdem_sim CLI binary crate for running simulations - Convert MathEvaluator to thread-safe singleton with Arc<Inner> pattern - Replace heap-allocated combination generation with const-generics stack-based approach in AlgorithmicEvaluator::evaluate_n_card_hand - Add thiserror 2 dependency for GameError derive - Update docs: README, ACHIEVEMENTS, ROADMAP
This commit is contained in:
parent
dd605e8a66
commit
17d0440c86
43 changed files with 12329 additions and 494 deletions
24
holdem_core/examples/configs/cash_game.toml
Normal file
24
holdem_core/examples/configs/cash_game.toml
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
[game]
|
||||
game_type = "Cash"
|
||||
num_seats = 6
|
||||
small_blind = 10
|
||||
big_blind = 20
|
||||
ante = 0
|
||||
starting_chips = 10000
|
||||
num_hands = 1000
|
||||
|
||||
[game.bet_limit]
|
||||
type = "no_limit"
|
||||
min_raise = 20
|
||||
|
||||
[[game.bots]]
|
||||
bot_type = "call_bot"
|
||||
name = "Alice"
|
||||
|
||||
[[game.bots]]
|
||||
bot_type = "fold_bot"
|
||||
name = "Bob"
|
||||
|
||||
[[game.bots]]
|
||||
bot_type = "random_bot"
|
||||
name = "Charlie"
|
||||
18
holdem_core/examples/configs/mtt_tournament.toml
Normal file
18
holdem_core/examples/configs/mtt_tournament.toml
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
[game]
|
||||
game_type = "MultiTableTournament"
|
||||
num_seats = 9
|
||||
num_tables = 3
|
||||
small_blind = 10
|
||||
big_blind = 20
|
||||
starting_chips = 10000
|
||||
buy_in = 5000
|
||||
hands_per_level = 10
|
||||
num_blind_levels = 20
|
||||
|
||||
[game.bet_limit]
|
||||
type = "no_limit"
|
||||
min_raise = 20
|
||||
|
||||
[output]
|
||||
log_hands = true
|
||||
log_actions = true
|
||||
21
holdem_core/examples/configs/sng_tournament.toml
Normal file
21
holdem_core/examples/configs/sng_tournament.toml
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
[game]
|
||||
game_type = "SitAndGo"
|
||||
num_seats = 9
|
||||
small_blind = 10
|
||||
big_blind = 20
|
||||
starting_chips = 5000
|
||||
buy_in = 1000
|
||||
hands_per_level = 10
|
||||
num_blind_levels = 15
|
||||
|
||||
[game.bet_limit]
|
||||
type = "no_limit"
|
||||
min_raise = 20
|
||||
|
||||
[[game.bots]]
|
||||
bot_type = "call_bot"
|
||||
name = "Bot 1"
|
||||
|
||||
[[game.bots]]
|
||||
bot_type = "fold_bot"
|
||||
name = "Bot 2"
|
||||
Loading…
Add table
Add a link
Reference in a new issue