Skip to content
BMannell edited this page Dec 3, 2014 · 3 revisions

#COSC 3P71 - Project ##Implement a Chess program, with a game tree-based AI. Due: January 5th 2015 at 11:59:59pm ###Requirements Your program must respect the rules of chess

  • Movement of pieces
  • Piece promotion
  • Check
  • Checkmate
  • Stalemate
  • En passant

This means for both the human and AI players!

Use whatever language that can be compiled/executed/tested on the lab computers.

It must use a Minimax game tree.

Alpha-Beta pruning is additionally required.

Use a reasonable evaluation function for your board state evaluation.

You need at least a minimal interface for the human player. e.g. basic text-based, command-line interface.

See the note below for working in pairs.

The user must be able to choose a side at the beginning, as well as a maximum ply.

For testing purposes, you must include a game mode that allows for starting with arbitrary board positions

####Additional Expectations A small portion of the marking scheme will be devoted to 'extras'. Examples include, but are not limited to:

  • A proper GUI*
  • The ability to export a game log in .txt format
  • The ability to replay a game from a game log (for super-exciting spectator mode!)
  • Network/internet-enabled game play (um... seriously. don't do this)
  • A better evaluation function*
  • etc.
  • things you should particularly consider if working with a partner.

##Submission ###Physical Submission Include printouts of all of your source files. Write up a document explaining how to use your program, describing your evaluation function, and briefly explaining how you represented states for your game tree (my guess would be 5-8 pages).

###Electronic Submission Include everything needed to compile/run your program. Include an electronic copy of your instructions document from the physical submission. If there's anything else you feel the marker should have, include that as well. Use the standard submission script: submit3p71

When the submission script asks for the assignment number, just choose 4.

As always, the due date applies to both the physical and electronic submissions.

You may work alone, or with a partner (groups of three or more are not allowed). Note that you may not work with a partner if this project is also to be submitted for another course (e.g. for 3P98).

Final Note: If you make use of any external references/materials for your project, make sure that you explicitly cite it in your work (both in your code and in your writeup).

Clone this wiki locally