This app evaluates every legal 2-card discard from a 6-card hand and ranks choices by expected value (EV).
For each hand, there are 15 possible discards. For each discard, the app keeps the remaining 4-card hand and evaluates that choice.
For each keep/discard choice, the app scores the retained hand against all 46 legal cut cards and averages the result.
Crib contribution comes from a precomputed toss table built by simulation. For each possible 2-card discard pair, we repeatedly deal opponent toss cards and a cut card, score the resulting crib, and average the score.
Example table entry: AD-AH: {"ev_my_crib": 5.448, "ev_opp_crib": 5.448}
View the current data file: crib_toss_table.json.
The app also uses an opponent-discard profile (`opponent_stats.json`) derived from repeated simulated hands. Those counts are converted into weighted probabilities for likely opponent rank-pair tosses.
Your submitted discard is ranked against all 15 options. The app reports your rank and EV gap from the best play.
The discard-table workflow is informed by Liam Brown's cribbage resources: https://cliambrown.com/cribbage/.