Text feedback is given for the game state (who's turn it is, and if it is checkmate or stalemate).
The user makes a move by clicking the source and destination square (for castling and en passant move the king or pawn to its natural destination square).
Any click (if it is one of your pieces) highlights that square
If some square highlighted, then:
if second click is legal move, do it and unhighlight
otherwise unhighlight with no move
else unhighlight without moving
An "AI move" button makes the computer move (choose a random move from those available).
An "Undo" button takes back the most recent move.
A "Reset" button puts the board in its correct configuration for the first turn of the game.
Game rules
==========
Standard chess rules apply. The 3-move-repetition, 50-move rule, and underpromotion are not implemented in this version.