diff options
Diffstat (limited to 'internal/casino/baccarat_wagers.go')
| -rw-r--r-- | internal/casino/baccarat_wagers.go | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/internal/casino/baccarat_wagers.go b/internal/casino/baccarat_wagers.go new file mode 100644 index 0000000..cf2653e --- /dev/null +++ b/internal/casino/baccarat_wagers.go @@ -0,0 +1,39 @@ +package casino + +import "fmt" + +// Baccarat's wager list names every outcome and optional side bet this +// variant actually offers, with profit odds and the bare win condition. +// The no-commission exceptions travel in the payout wording so the list +// stays truthful for every edition. +func (t *baccaratTable) wagerRows() []WagerRow { + rules := t.Rules + banker := "0.95:1 (5% commission)" + switch rules.Variant { + case BaccaratSuper6: + banker = "1:1 (Banker 6 pays 1:2)" + case BaccaratEZ: + banker = "1:1 (3-card 7 pushes)" + } + rows := []WagerRow{ + {"player (p)", "1:1", "Player's last digit beats Banker's"}, + {"banker (b)", banker, "Banker's last digit beats Player's"}, + {"tie (t)", fmt.Sprintf("%g:1", rules.TiePayout), "Both hands finish equal"}, + } + if rules.PairBets { + rows = append(rows, + WagerRow{"player_pair", "11:1", "First two Player cards share a rank"}, + WagerRow{"banker_pair", "11:1", "First two Banker cards share a rank"}, + ) + } + if rules.Dragon7 { + rows = append(rows, WagerRow{"dragon_7", "40:1", "Banker wins with a three-card 7"}) + } + if rules.Panda8 { + rows = append(rows, WagerRow{"panda_8", "25:1", "Player wins with a three-card 8"}) + } + if rules.Super6Bet { + rows = append(rows, WagerRow{"super_6", "12:1", "Banker wins with 6"}) + } + return rows +} |
