NEW! - Tournament Results
The game manager is now available. The game manager runs on the linux machines and allows two program to play one another automatically. Extract using gunzip and tar, and view the README file for more information on how this works.
Linux AI hique binary written by your professor. The following binary executable implements an AI player of HiQUE using minimax search with alpha-beta pruning with a very simple heuristic. No attempt has been made at code optimization or a sophisticated heuristic, so with better heuristics and optimization, your program should be able to beat mine :) Try this out to get a feel for the game.
The binary is compiled for linux. Copy the binary to your folder and run it from one of the following machines for the best performance:
For this course, your project is to write an AI program that can play the game HiQUE. Your program will have about 20 seconds to make its move. At the end of class there will be a tournament among the AI programs, and the team (or individual) with the winning program wins extra credit points worth half a letter grade.
If you wish to purchase the game, one place you may do so is from Amazon.com. However, you do not need to purchase the game, as the rules are described below. You could create your own version of the game using pencil and paper, and I have also provided an online, text-based two-player version of the game. You can use this to learn how to play and also as a basis for your AI program if you like. However, since the interface is text-based, it might take some getting used to. The program is designed to run on a Unix system. For now you can use mazzy, but later we will be using the Linux machines. Your AI program must run on these machines or your programs will not be accepted.
Here is the source code:
hique_2_player.tar.gz - Gzip, tar'd source code in C and C++ that implements the game and rules.
The source code is provided in both C and C++ based on your programming language preference. To compile the source on mazzy, copy the file to your local directory. You may do so by directly copying the file from my directory when logged onto mazzy:
Uncompress the file using the command:
Extract the files using the command:
This will create a hique directory with two subdirectories containing the C++ and C source code. Change to the directory you like and you can then compile the source code by issuing the command:
Comments are contained in the .cpp and .c source files. Note that you can use a different programming language for your program if you like, but your program must run on the Linux machines. This will help ensure equality for the tournament. Efficient C or C++ programs may have a significant speed advantage over programs written in interpreted languages like Java or perl.
The game manager is a program designed to act as an interface between two AI programs. Rather than manually input moves to the AI programs, I ask that your program conforms to the I/O specs of the game manager. This allows programs to directly communicate and greatly speeds up the time it takes to run the tournament. The manager can be downloaded here: manager.tar.gz.
The hyperlinked pdf file explains the rules of the game along with the format we will use to specify moves. The first page notes some changes we have made to the rules specifically for the CS405 course.