Game Icon: 5hJs Cribbage '97 for Windows

With this free program for Windows 3.1 or later, you pit your playing skills against the computer's.

SNAPSHOTS: View 36K in snapshots of program screens.
HELP FILE: View HTML version of program help file.
CRIB97.ZIP: Download full 354K archive containing 5 files.
NTFIX.ZIP: Download 1K patch for running Cribbage 97 under Windows NT/2000.
DS.ZIP: Download 331K archive with command-line discard utility

After downloading the CRIB97.ZIP file, extract its contents to any subdirectory of your choosing. Run CRIBBAGE.EXE from there to start the program.

The optional patch ZIP file contains batch file NTFIX.BAT that should be run from the same directory as CRIBBAGE.EXE. The patch updates 4 bytes in file CRIBBAGE.EXE. You only need this fix if you receive error message "Cannot find COMMDLG." when trying some menu options (e.g., Options/Activity Log/Log File Name) in Cribbage '97. This occurs under Windows NT/2000, but not under Windows 3.1/95/98. Windows ME has not been tested. I will eventually update the source code and main ZIP file with this and other changes, but the patch should do for now.

The optional DS.ZIP file contains C source code and EXEs for an Oct 2000 update to the discard calculations used by Cribbage '97. There is also a good command-line utility DS.EXE that gives discard point values for any specified hand. Pegging potential and playing on/off are not included in the calculations at this time. Pone/dealer flushes, however, are now given full consideration. Also the slight variations to discard weights due to the 4 held cards are now factored in. These calculations will be part of any new update to the program. I believe this to be the most accurate discard calculation to date that excludes pegging potential. The 91-entry discard tables differ some from those shown below, but I've left those tables as is since they still reflect the values used in Cribbage '97. I didn't post this information sooner (it's Jan 2002 now), since I was trying to factor in pegging potential. But I put things down for a year and left the work in flux. This is a snapshot of work-in-progress sent to Mike Schell at the Cribbage Forum back then.

Program Description

Cribbage '97 is flexible. Features include:

This is not the flashiest cribbage program around. There are other good programs with better sound and graphics (see links). This one, however, plays at a higher skill level than the others. Of course, as the author, I'm biased. But at least I'm backing this up. The program provides a documented way to compare competing decision-making routines.

If you think you have better decision algorithms, hook them into Cribbage '97. Start with the sample C code for a decision DLL provided in the help file. Specs are supplied in the code comments. The program supports duplicate play, so that decision routines you write from scratch (or adapt from your own program) can be compared to the native routines in reproducible 1000-game automatic runs. I'll make available for download on this site any alternate decision DLLs. Comparison results and credit to the authors will be included too.

Discard Decision Tables

The next two tables are included in the program help file. The information is essential to discard decisions made by the program. The tables were computed exactly (i.e., without use of random sampling techniques) under these simplifying conditions:

The process required several hours and many iterations on a 166 MHz Pentium before the tables converged to stable values. See the C source code for this, if you are interersted.

A 6.07   Average Crib Score
For PONE Discards
2 5.07 6.43  
3 5.17 7.34 6.78  
4 5.74 5.44 6.10 6.59  
5 6.06 6.17 6.85 7.46 9.39  
6 4.93 5.13 4.92 5.47 7.66 7.17  
7 4.95 5.12 5.16 4.91 7.08 6.64 7.25  
8 4.92 5.03 5.08 5.02 6.36 6.05 7.88 6.76  
9 4.66 4.82 4.82 4.75 6.22 6.31 5.46 5.97 6.44  
10 4.46 4.64 4.70 4.55 7.46 4.41 4.44 5.02 5.52 6.11  
J 4.72 4.91 4.97 4.80 7.75 4.61 4.73 4.65 4.98 5.60 6.56  
Q 4.41 4.60 4.66 4.49 7.42 4.29 4.44 4.38 4.14 4.65 5.55 5.89  
K 4.34 4.53 4.59 4.43 7.31 4.25 4.38 4.31 4.13 3.99 4.89 4.56 5.72
  A 2 3 4 5 6 7 8 9 10 J Q K

A 5.26   Average Crib Score
For DEALER Discards
2 4.18 5.67  
3 4.47 6.97 5.90  
4 5.45 4.51 4.88 5.65  
5 5.48 5.44 6.01 6.54 8.95  
6 3.80 3.87 3.72 3.87 6.65 5.74  
7 3.73 3.81 3.67 3.74 6.04 4.94 5.98  
8 3.70 3.58 3.84 3.84 5.49 4.70 6.58 5.42  
9 3.33 3.63 3.66 3.69 5.47 5.11 4.06 4.74 5.09  
10 3.37 3.51 3.61 3.62 6.68 3.15 3.10 3.86 4.27 4.73  
J 3.65 3.79 3.88 3.89 7.04 3.40 3.43 3.39 3.98 4.64 5.37  
Q 3.39 3.52 3.62 3.63 6.71 3.08 3.17 3.16 2.97 3.36 4.90 4.66  
K 3.42 3.55 3.66 3.67 6.70 3.13 3.21 3.20 3.05 2.86 4.07 3.50 4.62
  A 2 3 4 5 6 7 8 9 10 J Q K

The tables highlight what every cribbage player already knows. Discards like 2-3 and 5-X help cribs; discards like K-10, K-9, and Q-9 hinder cribs. More important, though, are the relative weights. These make possible more accurate discards by the computer (or by you, if you use the table).

Because of the simplifying assumptions, you still have to make real-life adjustments. E.g., holding on to lower ranking cards tends to help in pegging.

The average crib score under these assumptions is just under 4.8 points.

Links to Other Cribbage Sites

I'm cheating some. The American Cribbage Congress has a good link page to other cribbage game sites, so that is where the next link sends you.

Cribbage Game Sites: Link to ACC page.

By the way, I have an indirect association with the ACC. The ACC was formed after the 1979 Nationals at Raleigh, NC. Joe Wergin became first president of the ACC. I was one of four players, including Joe, who made the trip together from Madison, WI, to Raleigh for the tournament.

The tournament was great fun, but I was stomped early and had to chalk it up as a learning experience.

For good tips on discarding and pegging, see The site references some of the statistical work here. This is a recent (early 2000) reference, three years after Cribbage '97 was created. It may spur me to look at an update to the program.

Unrelated ASM/VB6 Stuff

I used to spend a lot of time programming in assembly language. This is mostly 'for fun' stuff. The ZIP files available for download here include ASM source. Last one is VB6 utility so has VB6 source included instead.

CALC387.ZIP:   (15K) Command-line calculator. COM file is just 1024 bytes. Handy if you keep an open DOS window around. Intended as coprocessor demo. You may have to double up caret symbol (^) inside Windows DOS box since that is a line extender symbol in emulation of DOS by later Windows versions.
LIFE.ZIP: (57K) John Horton Conway's game of life (max grid size 720x720).
HPTINY.ZIP (57K) Prints text file to HP LJ II (or later) in compact newspaper-style column format, typically 270 lines per page.
EZEDIT20.ZIP (35K) Tiny 4K text editor. This is V2.0 1996 -- V1.0 was from 1989.
PICALC.ZIP (37K) Demo of spigot algorithm to calculate pi. Includes 1024-byte COM file that computes pi to a million decimal places in about a day on 200MHz Pentium.
SQLDUMP.ZIP (48K) Utility to dump MSSQL table data and procs/views/triggers/functions to script files for migrating test to production. I have been using this since 2003 at work. Includes recent changes like Unicode support (Dec 2008).

Personal Stuff

Not much here. Just a photo from Paris in 2000.

Go Pack!  Sad that Favre retired, but good luck to Rodgers!

I grew up in Green Bay in the 60's when Vince Lombardi, Bart Starr, Paul Horning, Willie Wood, Max McGee, Ray Nitschke, etc., were household names. Best GB fan site is Packer Plus -- the Milwaukee Journal-Sentinel site. 

Site created / updated: 07 Oct 1997 / 11 Dec 2008
Craig Hessel / <[email protected]>

Hosted by