Development on CPP1 has stopped now that a new program called POS is under development.

CPP1 - An experimental OO chess program

What is it?

A chess-program :o)
It's an experimental one: not because of the bugs, but because of the algorithms used. Not just one based on the shannon-algorithm, but several. And, the most important one; it is not brute force.


The program should now fully support xboard/winboard. Start it with commandline "-iomode xboard".


Please report all bugs/traps/etc. to If possible, include a screendump.


An announcement- and discussion mailinglist has been started on which I will announce new versions of my chess-programs and things related to chess.
Send an e-mail to with in the subject 'subscribe chess' to subscribe.


It's a console-application so screenshots are not that usefull, but what the heck: screenshot.


Mirror at Geocities


2000-02-09 cpp1 played against pixelpusher
2000-08-16 cpp1 was mentioned on the site of GambitSoft!
2000-09-24 cpp1 was added to the site of ChessOPolis!
2002-03-20 I found out (Google rules) that someone actually used my chess program in a tournament! This is the url:
2002-04-01 CPP1 won its first game! See this textfile for a transcription.


1999-12-01 001 fixed bug in move-selection (would always use the same algorithm, which is not always appropriate)
1999-12-01 002 fixed bug in code that analyzed who is attacking who
1999-12-07 001 user can now select the color to play with
1999-12-07 002 rewrote some code (C pointer to by reference/by value)
1999-12-07 003 implemented new algorithm, this one is to make the program more protective
1999-12-15 001 beautified code
1999-12-15 002 started working on I/O-abstraction (for ICS/Xboard-interfacing)
1999-12-15 003 fixed memory-leak
1999-12-15 004 some cosmetic I/O changes
1999-12-15 005 implemented new algorithm that generates move that can seem to be chosen on emotional grounds
1999-12-27 001 this release only works with WinBoard
1999-12-27 002 some changes to the routines that select a move from the rated moves
2000-01-01 001 redesigned and started rewriting move-selection routines
2000-01-01 002 fixed bug in pawnpromotionfinder. in the rare case were multiple promotions are about to occure, funny things might have happened when one was under attack
2000-01-01 003 implemented commandline parameters: -mfile , -iomode xboard|console
2002-03-24 001 re-evaluated evaluation routines
2002-03-24 002 added new algorithm
2002-04-03 001 a new evaluation subroutine was added
2002-04-03 002 implemented en-passant
2002-04-08 002 implemented trans. table
2002-04-20 001 improved xboard/winboard support
2003-09-14 001 relased MacOS X binary
2006-08-05 001 added '--mem' switch

House for sale in Gouda, the Netherlands ("Holland"):