Settle the craps pay table: the Field on 12, and bar-12 #33

Closed
opened 2026-08-12 17:44:52 +00:00 by rosa · 0 comments
Owner

Parent

#27

What to build

Two places where the craps code and the module's own rules comment disagree get
a decision, each behind a test that names the rate chosen.

The Field pays double on both 2 and 12, where the rules comment says 2:1 on 2 and
3:1 on 12. And Don't Pass wins outright on 12, where the comment calls 12 a push
for both sides of the line — the bar-12 every craps table has.

Both are rules choices rather than defects: nothing in the code arbitrates, so
somebody has to. Whichever way each goes, the outcome is a test that states the
rate, so the next reader finds a decision instead of an accident.

The push outcome this needs already exists — #31 puts it in the payout type
without anything yet producing one.

Acceptance criteria

  • The Field's rate on 12 is decided, and code and rules comment agree
  • The Field's rate on 2 is decided the same way
  • Whether Don't Pass pushes or wins on 12 is decided, and code and rules
    comment agree
  • Each decision has a test naming the rate, so a later change to it is a
    visible one
  • A push, if bar-12 becomes one, returns the player's wager untouched and
    counts as neither a win nor a loss in their record
  • The test suite passes and the linter is clean

Blocked by

## Parent #27 ## What to build Two places where the craps code and the module's own rules comment disagree get a decision, each behind a test that names the rate chosen. The Field pays double on both 2 and 12, where the rules comment says 2:1 on 2 and 3:1 on 12. And Don't Pass wins outright on 12, where the comment calls 12 a push for both sides of the line — the bar-12 every craps table has. Both are rules choices rather than defects: nothing in the code arbitrates, so somebody has to. Whichever way each goes, the outcome is a test that states the rate, so the next reader finds a decision instead of an accident. The push outcome this needs already exists — #31 puts it in the payout type without anything yet producing one. ## Acceptance criteria - [ ] The Field's rate on 12 is decided, and code and rules comment agree - [ ] The Field's rate on 2 is decided the same way - [ ] Whether Don't Pass pushes or wins on 12 is decided, and code and rules comment agree - [ ] Each decision has a test naming the rate, so a later change to it is a visible one - [ ] A push, if bar-12 becomes one, returns the player's wager untouched and counts as neither a win nor a loss in their record - [ ] The test suite passes and the linter is clean ## Blocked by - #31
rosa closed this issue 2026-08-14 03:22:39 +00:00
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
rosa/casino#33
No description provided.