Chess is a game played between two opponents on opposite sides of a board containing 64 squares of alternating colors. Each player has 16 pieces: 1 king, 1 queen, 2 rooks, 2 bishops, 2 knights, and 8 pawns. The goal of the game is to checkmate the other king. Checkmate happens when the king is in a position to be captured (in check) and cannot escape from capture.”
is to apply all of the fundamental concepts of OOP in making chess engine
github_ChessGameOOP.
please Know that we made a non traditional chess ,we change some rules of movement of pieces
- For Pawn:pawn captures (eats) the squares diagonally or the piece in front.
- For Bishop: the bishop can move up to three steps on the diagonal and one square on the horizontal axis so it changes the diagonal color.
- For Knight:The knight can move in an L shape with two squares horizontally or vertically, and then three squares in the perpendicular direction.
Visualization can be a helpful tool to manage some part of a design process. and show the overall methods and fields
- we use JavaSwing to make the gui of the game.
- GUI chess game provides a convenient and accessible way for chess enthusiasts of all levels to enjoy the game and improve their skills.
import javax.swing.*;
import javax.swing.plaf.basic.BasicButtonUI;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.HashSet;
import java.util.Set;
Please check our link and upload it in your device,we will wait for your opinion!
- ID: Carry the color and the type of All Pieces of the Board,created once pieces object is constructed.
- Hash set: Set that contains all live Pieces in the Board.
- Board representation:This representation typically includes information such as the location of each piece, which player has the next move, and whether certain rules such as castling or en passant are currently available.
- Move generation: The engine able to generate all possible legal moves that can be made from the current game state.
- Highlights: Knowing all available places and not allowed for any piece.
- Timer:You have a specific time, if you exceed it, you will lose.
- Death: Knowing which piece died, its type, and how many pieces of its kind died
- Score History: allows players to track their progress over time, and to compare their performance to that of other players.
- Evaluation: Once all possible moves have been generated, the engine must evaluate each one to determine which is the best move to make
- Ai opponent in chess.
- Shahd Ahmed Mahmoud Ali Visit Shahd
- Shaimaa kamal Visit Shaimaa
- Biatress Benyameen Visit Biatress
- Rawan Ahmed Visit Rawan
- Aya tullah Ahmed Visit Aya