Skip to content

No Kings #1884

Description

@ctm

Implement No Kings by renaming Option's short_deck bool field to alternate_deck and making it an Option<AlternateDeck>.

The goal is to make it so that any GameInfoBuilder that currently has a short_deck method will also have a no_kings method. There are two differences between a no kings deck and a short deck

  1. A no kings deck is simply a regular deck, but with the kings removed, whereas a short deck has other cards removed.
  2. Hands made with a no kings deck are evaluated by the standard evaluator, whereas a short deck has a special evaluator that enables straights that span the gap of missing cards.
    Here are the data structure changes:
    Create a new AlternateDeck enum that has two variants: Short and NoKings
    Rename Option's short_deck bool field to alternate_deck and make it an Option<AlternateDeck>
    The code changes will follow from the data structure changes and the goal, but please add a high_evaluator method to AlternateDeck and have it return ShortDeckHigh::eval5_u64_no_qualifier for Short and High::eval5_u64_no_qualifier for NoKings.

Metadata

Metadata

Assignees

Labels

AICan probably be done correctly by AI with little guidanceeasyTrivial to do (even when tired!) and semi-worthwhilehigh priorityShould be done fairly soonrequestSomething explicitly asked for

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions