Mike Terekhov

Android Chess Application

Objective & Background:

Worked on a group that created a chess app in Android Studio with fully functioning chess logic, user vs user gameplay, as well as user vs AI gameplay.

Basic Requirements Satisfied:

- Local device user vs user gameplay

- Local device user vs computer gameplay

- Chess pieces follow traditional movement rules

- Game recognizes whose turn it is

- Game recognizes when a checkmate or stalemate is reached

- Game prompts user to keep playing, quit playing, or change modes upon game ending

Implementation:

- Created class called Piece, which has several subclasses : Rook, Queen, etc

- In main activity, creates 8x8 matrix of Pieces, as well as two 8x8 matrices of TextViews, layered on top of each other, one for background tiles and one for pieces

- Logic is done on the Piece matrix, and then reflected on the TextView matrices

- Each click program checks whose turn, whether a win has happened, or whether the king is in check

- Bot can be supplemented after each player turn if mode is set to Bot

Additional Features:

- Predictive move feature - ability to see possible moves

- Sound effects/animation

- Customizable UI - pieces, board colors, etc

- Leaderboard ranking system

- Different levels of bot strength/playing types