This program utilizes GUI and GPIO python programming to enable two users to engage in a beginner friendly chess game. Visual aids such as highlighted possible moves and instructions will be provided, as well as a timer to control the length of the game for more experienced players.
Goals and Objectives
The goal of the project is to create a two-player chess experience on the Raspberry Pi platform. The GUI will display the chess board in the center of the screen along with sidebars containing important information (pieces lost, players’ times, instructions, options, etc.). The game will be able to assist the players by highlighting possible moves a selected piece can make to help newer players learn the game, if the option is selected.
We plan to incorporate the GPIO interface through utilizing LEDs to count down the individual times left for each player (if the timer option is used). We also can utilize the speaker to play sound effects for various events, such as a piece being taken out or a player's turn ending using pygame's sound functionalities.
[[Unable to add image directly without a link, image contained in mock_up.png]]] A python GUI will be used to display a chessboard in the center of a single RPi unit, keeping the aspect ratio of the board unchanged, through having each tile of the board function as a button with the image showing what piece (if any) is on it. The touchscreen will be able to register which piece is being selected based on the button being pressed. The GUI will only allow buttons with pieces of the current player's turn on them to be selected, and, once a piece is selected, all possible moves will be indicated on the board to help the player with learning how different pieces work. An option to turn the highlighting off may also be implemented for experienced players, though the code will still check to make sure all moves are valid before allowing any pieces to be moved.