Chess Game

The program should respect the rules of chess, for example,

  • the movement of pieces (including castling and en-passant),
  • piece promotion, check
  • checkmate
  • stalemate

Please review the rules of chess to verify your understanding of the game!

  • You can implement your system on any platform and language you want as long as

it is available in our labs (can be run in our labs). You may have to show me/TA

how it works in some cases.

  • The program must use a game tree search scheme with alpha-beta pruning.

Furthermore, the program should permit user-supplied control parameters, for

example, the depth of search.

  • Put effort towards designing an effective board evaluation function. You should

research the literature on computer chess to find strategies used by other systems.

You can borrow ideas from the literature (properly acknowledged in your report).

I also encourage you to try your own ideas!

  • The program should interact with a human player. Both human vs human and

human vs ai options should be available. Moves should be given via board

coordinates. At the minimum, the program should dump out the current board as an

ASCII table (e.g., upper case = black, lower case = white, space = “-“,). Although

a graphical user interface is not required, an effective GUI will be positively

considered during evaluation.

  • Your program should permit any board setup to be used initially (This is good for

testing purposes).

  • An option is that your program should dump out the game in terms of a standard

chess output text file.

Leave a Reply

Your email address will not be published. Required fields are marked *