/finalproject_chessgame-chessgame

finalproject_chessgame-chessgame created by GitHub Classroom

Primary LanguageJava

Review Assignment Due Date

Chess Game

This is a collaborative project developed by a team of five members: Fatma Said, Madonna Mosaad, Ammar Yasser, Mohamed Salah, and Mohamed Walid. The project aims to create a chess game with a graphical user interface (GUI) and additional features such as user authentication and a score table.

Team Members and Contributions

1. Fatma Said:

Contribution: UML Diagram creation, GUI Wireframe creation, Bug fixes, Logic implementation (Move, checkmate, stalemate), Chessboard, Pieces, Squares finalization. Description: Fatma played a significant role in the project. She helped create the UML diagram and GUI wireframe during the design phase. Fatma contributed to bug fixing and improving the codebase. She implemented the Move class to handle piece movement and highlight valid moves. Additionally, Fatma developed the checkmate and stalemate logic and finalized the Chessboard, Pieces, and Squares classes.

2. Madonna Mosaad:

Contribution: User Authentication, Score Table implementation, GUI Design for login/register and score table. Description: Madonna implemented user authentication for the project, creating the login/register functionality allowing users to access the game. She also developed the Score class, which manages a table to record game results, including winners, losers, draws, and game durations. Additionally, Madonna was responsible for designing the GUI for the login/register page and the score table.

3. Ammar Yasser:

Contribution: Intital Chessboard implementation, Player class development, Documentation writing. Description: Ammar was responsible for the initial implementation of the Square class and drawing squares on the Chessboard. He also wrote the documentation for the project. Ammar developed the Player class and incorporated Mohammed Walid's timer code into it. Additionally, he played a role in finalizing the Chessboard GUI.

4. Mohamed Salah:

Contribution: UML Diagram creation, GUI Wireframe creation, Logic implementation (highlight valid moves, piece movement), Square and Chessboard finalization. Description: Mohammed Salah made significant contributions in the early stages of the project. He helped create the UML diagram and GUI wireframe during the design phase. He worked on implementing key features such as highlighting valid moves and moving pieces. Mohammed Salah also played a role in finalizing the Square and Chessboard classes, which form the core structure of the chess game.

5. Mohamed Walid:

Contribution: Timer functionality implementation, README documentation writing. Description: Mohammed Walid implemented the timer functionality, managing time limits for each player's turn. He also wrote a detailed README documentation file to provide comprehensive information about the project.

Features

The chess game project incorporates the following features:

  • Chessboard: The Chessboard class represents the game board and manages the placement and movement of chess pieces.
  • Pieces: Different chess pieces such as pawn, rook, knight, bishop, queen, and king are implemented as separate classes.
  • Move: The Move class handles the movement of chess pieces and highlights valid moves for the selected piece.
  • User Authentication: The project includes a login and registration system to allow users to access the game with their own accounts.
  • Score Table: The Score class manages a table to record game results, including winners, losers, draws, and game durations.
  • Graphical User Interface: The GUI provides an interactive and visually appealing interface for the chess game, including the login/register page, the game board, and the score table.
  • Timer Functionality: A timer is implemented to manage time limits for each player's turn, enhancing the gameplay experience.

UML Diagram

UML class

Gannt Chart

Screenshot 2023-05-17 183513

Log in Page

1

7bd2052c-2036-4fa7-a037-df2046b3246a

2

59336c19-3b54-4260-a874-8e09c2f22612

3

54ba81eb-09dd-43fd-8548-a28e74e4d358

4

7bd2052c-2036-4fa7-a037-df2046b3246a

5

1f5c2659-d435-4610-b216-f6e73ef982fa

6

38097d03-7058-4559-814d-d7f6273c16c6

7

da5b1687-e4b4-4537-aea0-58b510ddd162

8

104adeba-9492-450d-a20a-092da3c827bc

Pawn First Move

pawn (1)

Capture Pawn

Capture pawn (1)

Checkmate On White King

099b911f-646a-4009-8b98-d8e96d7fae06

Castling

1

castling1

2

castling2

Time End

3190b4e3-ddf0-433c-9069-565f411d19e2

Stalemate

a4a296c4-8f24-4822-aa62-6b6516be8d4d

Turn Based Player Switch

bandicam.2023-05-18.07-47-20-567.1.mp4