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.
CRIB97-32BIT.ZIP: Download 955K archive with 2019 version that runs, e.g., under 64-bit Windows 10.
CRIBALT32.ZIP: Download 225K archive with 2021 alternate decision making DLL (w/source).

 


NEW 2021 CRIBALT32.ZIP contains 32-bit C source code and compiled DLL for alternate decision-making routines for the 2019 version of Cribbage '97. This DLL improves on the performance of 2019 CRIBCORE32.DLL. See comments in the source code. See also the appendix of 2019 CRIBHELP32.PDF.


 

 


NEW 2019 Although this is an old GeoCities archive site dating back to 2010 (or thereabouts), I recently re-established ownership of it. Cribbage '97 has been updated from a 16-bit VB3 application to a 32-bit VB6 application with a 32-bit core routine DLL. Functionality is basically the same, but you can now run the new program in a 64-bit (or 32-bit) Windows 10 environment. Download CRIB97-32BIT.ZIP and extract its files to a new folder on your Windows desktop. Run CRIBBAGE32.EXE from there. DS.EXE (in DS.ZIP) is also 32-bit, so it is still a very viable utility. Run it in a CMD window (use code page 437 to get suit symbols to display properly). The description here of features of Cribbage '97 from 1997 still applies to this new 2019 version. Note that you may get a warning from Windows Defender or from your antivirus software when you first run CRIBBAGE32.EXE under Windows 10. You will have to work around that (possibly by launching EXE under Run as Administrator first time).


 

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 interested.

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 www.cribbageforum.com. 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!  Hope Jordan Love continues QB tradition at GB.  The 2-2 start in 2023 is ok.  My hotmail address below is still good (after 30 years)!

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. 


Site created / updated: 07 Oct 1997 / 30 Sep 2023
Craig Hessel / <[email protected]>