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. |
NAME | TYPE | DESCRIPTION |
NAME | TYPE | DESCRIPTION |
NAME | TYPE | DESCRIPTION |
REVERSEM.HPP | C++ Header Source | Main header file |
REVERSEM.CPP | C++ Source | Main program |
SPOTS.HPP | C++ Header Source | Defines a playing piece. |
BOARD.HPP | C++ Header Source | Defines a playing board |
BOARD.CPP | C++ Source | Imnplements a the playing board |
EVAL.HPP | C++ Header Source | Defines some heuristic constants |
GRAPHICS.HPP | C++ Header Source | Header for the graphics manager |
GRAPHICS.CPP | C++ Source | Implementation for the graphics manager |
HEAP.HPP | C++ Header Source | Header for a specialized heap |
HEAP.CPP | C++ Source | Implementation for a specialized heap |
MYPIC.HPP | C++ Header Source | Header for the picture manager |
MYPIC.CPP | C++ Source | Implementation for the picture manager |
XTILE21!.H | C Header Source | C header for the XTILE graphics library |
NAME | TYPE | DESCRIPTION |
README | Simple readme | |
screenshot.jpg | JPEG image | Screen shot of it running (from a review website) |
reversem100.zip | ZIP archive | The released game |
REVERSEM.zip | ZIP archive | The complete development package |
REVERSEM.PRJ | IDE Project | Borland C++ project file |
XTILE21!.OBJ | Object code | The XTILE graphics library (version 2.1) |
REVERSEM.EXE | Program | The finished executable program |
FONT4X6.MSF | Font | XTile runtime font file (needed by REVERSEM.EXE) |
REVERSEM.CMB | XTile Bitmaps | Graphics file with GUI elements (needed by REVERSEM.EXE) |
MYPICS.CMB | XTile Bitmaps | Graphics file with pictures (needed by REVERSEM.EXE) |
Copyright (C) 2009,2010,2018 Erich P Gatejen All rights reserved. | Generated by RendSite 2009 |