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.
DS.ZIP: Download 331K archive with command-line discard utility

May 2010 Note: On move here to from defunct GeoCities site, all the ZIP files had to be uploaded as *.ZI files, so rename if needed after you download. When I download from the site with Internet Explorer 8 under Vista, I get *.ZIP files. Also, a formerly separate 4-byte fix from March 2001 has been applied to original CRIBBAGE.EXE in CRIB97.ZIP.

Jan 2002 Note: 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, 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.

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

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 an early 2000 reference, three years after Cribbage '97 was created. I may get around to a program update on retirement in a couple years.

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 a little over an hour on a 2.3Ghz AMD.
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 2008 changes like Unicode support.

Personal Stuff

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

Go Pack!  Sad that Favre retired/unretired/retired/unretired/etc., 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. Good GB fan site is Sports - JSOnline -- the Milwaukee Journal-Sentinel site. The best pages there are subscriber-only though. 

Site created / updated: 07 Oct 1997 / 25 Jul 2010
Craig Hessel / <>