aboutsummaryrefslogtreecommitdiff
path: root/internal/casino/roulette_racetrack.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/casino/roulette_racetrack.go')
-rw-r--r--internal/casino/roulette_racetrack.go18
1 files changed, 8 insertions, 10 deletions
diff --git a/internal/casino/roulette_racetrack.go b/internal/casino/roulette_racetrack.go
index 624940b..9784d9a 100644
--- a/internal/casino/roulette_racetrack.go
+++ b/internal/casino/roulette_racetrack.go
@@ -23,7 +23,7 @@ func (s rouletteShare) payout(stake int) (int, error) {
if stake <= 0 || s.num <= 0 || s.den <= 0 {
return 0, nil
}
- if limit := MaxCredits * s.den / s.num; stake > limit {
+ if limit := ((MaxCredits+1)*s.den - 1) / s.num; stake > limit {
return MaxCredits, fmt.Errorf("payout overflow: %d * %d/%d exceeds %d", stake, s.num, s.den, MaxCredits)
}
return stake * s.num / s.den, nil
@@ -96,8 +96,8 @@ func RacetrackBets() []RacetrackBetView {
// The four standard single-zero call bets. Chip placements and payouts follow
// the traditional layout: Voisins (9 chips), Tiers (6), Orphelins (5) and
-// Zero Spiel (4). Every inside component returns 36/covered, so the combined
-// wager keeps the wheel's normal house edge.
+// Jeu Zero (4). Every inside component returns 36/covered, so the combined
+// wager keeps the wheel's normal house edge before whole-credit rounding.
var rouletteCallBets = []rouletteCallBet{
{
canonical: "voisins",
@@ -142,8 +142,8 @@ var rouletteCallBets = []rouletteCallBet{
},
},
{
- canonical: "zerospiel",
- name: "Zero Spiel",
+ canonical: "jeuzero",
+ name: "Jeu Zero",
chips: 4,
series: []string{"12", "35", "3", "26", "0", "32", "15"},
parts: []rouletteComponent{
@@ -171,11 +171,9 @@ var rouletteCallAliases = map[string]string{
"orphelins": "orphelins",
"orphans": "orphelins",
"les orphelins": "orphelins",
- "zero spiel": "zerospiel",
- "zerospiel": "zerospiel",
- "spiel": "zerospiel",
- "jeu zero": "zerospiel",
- "zero game": "zerospiel",
+ "zero": "jeuzero",
+ "jeu zero": "jeuzero",
+ "jeuzero": "jeuzero",
}
// neighborsRadius is how many pockets on each side of the chosen number the