Listing for /engineering/REVERSEM
REVERSEM is a graphical Reversi game written in C++ using my XTile library.

I did it for an AI class. The project was to implement a minimax module in Pascal that the instructor would run in his harness. I asked if I could write it in C++ instead if I did the whole thing. He said OK. I got my assignment back (the printed source code) with "this is way too much work" written across the top?, as well as an A+.

My minimax algorithm is sound?, though my other methods weren't entirely scientific. I created my heuristics by running games on the Windows version of reversi. After I got Reversem working?, I ran them side by side?, so I could tweak things. I noticed that random perturbations to the heuristics did better against me than the plain version of Reversem or the Microsoft version. I added this as the "experimental" level.

After I released it?, I got into conversations with a few experts,both in AI and the game. They noted that my biggest omission was book moves for the opening. I had moved on to other things?, so I didn't make any changes.

Many years later?, I found web pages that hosted Reversem. A couple noted I was from Finland. I'm not. When I wrote this I was living in Colorado. However?, since then I have spent a lot of time in Finland and I find it a wonderful country.

DIRECTOIRIES
NAME TYPE DESCRIPTION
DOCUMENTATION
NAME TYPE DESCRIPTION
SOURCE
NAME TYPE DESCRIPTION
REVERSEM.HPPC++ Header SourceMain header file
REVERSEM.CPPC++ SourceMain program
SPOTS.HPPC++ Header SourceDefines a playing piece.
BOARD.HPPC++ Header SourceDefines a playing board
BOARD.CPPC++ SourceImnplements a the playing board
EVAL.HPPC++ Header SourceDefines some heuristic constants
GRAPHICS.HPPC++ Header SourceHeader for the graphics manager
GRAPHICS.CPPC++ SourceImplementation for the graphics manager
HEAP.HPPC++ Header SourceHeader for a specialized heap
HEAP.CPPC++ SourceImplementation for a specialized heap
MYPIC.HPPC++ Header SourceHeader for the picture manager
MYPIC.CPPC++ SourceImplementation for the picture manager
XTILE21!.HC Header SourceC header for the XTILE graphics library
OTHER
NAME TYPE DESCRIPTION
READMESimple readme
screenshot.jpgJPEG imageScreen shot of it running (from a review website)
reversem100.zipZIP archiveThe released game
REVERSEM.zipZIP archiveThe complete development package
REVERSEM.PRJIDE ProjectBorland C++ project file
XTILE21!.OBJObject codeThe XTILE graphics library (version 2.1)
REVERSEM.EXEProgramThe finished executable program
FONT4X6.MSFFontXTile runtime font file (needed by REVERSEM.EXE)
REVERSEM.CMBXTile BitmapsGraphics file with GUI elements (needed by REVERSEM.EXE)
MYPICS.CMBXTile BitmapsGraphics file with pictures (needed by REVERSEM.EXE)