Analysis Template
Analysis Template
Analysis Template
Background
Why did you choose this problem?
Objectives
Give a list of specific and measurable objectives to reach a full solution.
BE VERY SPECIFIC!
1.Game must load with a main menu, showing buttons to start a game
between player vs AI.
2.Board will have cells where each piece will a memory location.
4.Pawn only goes up a block at a time, except at the start it has the option to go up 2
blocks.
5.Knight moves two squares vertically and one square horizontally, or two squares
horizontally and one square vertically (with both forming the shape of a capital L)
6.Queen- move 1-7 squares in any direction, up, down, left, right.
7.Bishop moves diagonally only. The black bishop must only move diagonally in the
black squares and white bishop must only move in the white squares.
8.Rook moves horizontally, vertically, can move in any square. Can castle with King.
9.King, can castle, can be checked but can be blocked by a piece or move
to a safe block to get away from the check. Can move 1 block at a time
anywhere, (left, right up, down, diagonally). King must be checkmated to win the
game (King can’t move anywhere else to avoid the check).
10. Use recursive algorithms to implement the Minimax algorithm with Alpha-Beta pruning,
enabling the AI to search deeper into future moves while optimizing performance.
11. Create a complex Object-Oriented Programming (OOP) design using classes for each
chess piece, the chessboard, and the AI logic.
12. Implement a simple version of a relational database that tracks basic player statistics,
such as wins, losses, and draw rates across games.
12.1 At the end of the game, it will output the respective users records of moves in the
databse.
13. Use binary search to efficiently validate moves from a pre-defined list of legal moves for
each chess piece.
15. Implement specific chess rules like castling, pawn promotion, and en passant.
29.A screen at the end if you have been checkmated, have checkmated the
opponent, or stalemate by 50 move rules.
29.1 A screen for playing again or quit the game.
Need to maintain a representation of the game state, such as the position of all pieces,
whose turn it is, and the game outcome.
A 2D array or list of lists (8x8 grid) could represent the chessboard.
A loop of the game will alternate between the player’s and AI’s turns until the game reaches
an end condition (checkmate, stalemate, or draw)
Turn Management
The control of turns will be alternated between the player and the AI.
If it's the player's turn, they will input a move, and the board will update accordingly.
After that, the AI will make its move based on the same board state
Once moves are made, the game will check if the move results in checkmate,
stalemate, or a draw.
Data for the game result can be updated in the GameState class
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: