| * shoes (and arranged shoes) | |||||
| * handle no readline | * handle no readline | ||||
| * cpu and wall time in report | |||||
| * check that the card distribution is uniform | * check that the card distribution is uniform | ||||
| * initial bankroll | * initial bankroll | ||||
| * report | * report | ||||
| * to_string() for floats | * to_string() for floats | ||||
| * max_splits through conf (default 3) | * max_splits through conf (default 3) | ||||
| * DAS | * DAS | ||||
| * shoes (and arranged shoes) | |||||
| * name of the game the dealer deals | * name of the game the dealer deals | ||||
| * name of the games the player can play | * name of the games the player can play | ||||
| * dealers | * dealers | ||||
| * blackjack switch | * blackjack switch | ||||
| * blackjack under? | * blackjack under? | ||||
| * siete y medio | * siete y medio | ||||
| * card war | |||||
| * between | |||||
| * players | * players | ||||
| * tty | |||||
| * stdio | |||||
| - yes | |||||
| * fifo | |||||
| - awk | |||||
| - bash | |||||
| - perl | |||||
| - python | |||||
| * internal | |||||
| - strategy from file | |||||
| - reko | |||||
| * internal dumb | |||||
| * internal reko | |||||
| * python | |||||
| * runtime-linked in a shared object | * runtime-linked in a shared object | ||||
| * multithreading | * multithreading |
| flat_bet = 1 | flat_bet = 1 | ||||
| no_insurance = true | no_insurance = true | ||||
| delay = 0 | delay = 0 | ||||
| arranged_cards = 2,1,11 | |||||
| ; arranged_cards = 2,1,11 | |||||
| ; rng_seed = 1 | ; rng_seed = 1 |
| case Libreblackjack::PlayerActionRequired::Play: | case Libreblackjack::PlayerActionRequired::Play: | ||||
| // std::cout << "player " << playerValue << " dealer " << dealerValue << std::endl; | |||||
| // std::cout << "player " << playerValue << " dealer " << dealerValue << std::endl; | |||||
| // TODO: split | // TODO: split | ||||
| // TODO: double | // TODO: double | ||||
| if (actionTaken == Libreblackjack::PlayerActionTaken::Double) { | if (actionTaken == Libreblackjack::PlayerActionTaken::Double) { | ||||
| actionTaken = Libreblackjack::PlayerActionTaken::Hit; | |||||
| actionTaken = Libreblackjack::PlayerActionTaken::Hit; | |||||
| } | } | ||||
| } | } | ||||
| // std::cout << (int)(actionTaken) << std::endl; | |||||
| /* | |||||
| if (actionTaken == Libreblackjack::PlayerActionTaken::Hit) { | |||||
| std::cout << "hit" << std::endl; | |||||
| } else if (actionTaken == Libreblackjack::PlayerActionTaken::Stand) { | |||||
| std::cout << "stand" << std::endl; | |||||
| } else { | |||||
| std::cout << "none" << std::endl; | |||||
| } | |||||
| */ | |||||
| break; | break; | ||||
| case Libreblackjack::PlayerActionRequired::None: | case Libreblackjack::PlayerActionRequired::None: |