/finalproject_chessgame-team-fourteen

finalproject_chessgame-team-fourteen created by GitHub Classroom

Primary LanguageJava

Review Assignment Due Date

Chess Game

About game:

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.”

Our Project:

is to apply all of the fundamental concepts of OOP in making chess engine

Visit our repo:

github_ChessGameOOP.

Instructions :

please Know that we made a non traditional chess ,we change some rules of movement of pieces

Edited Rules:

  • 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.

Let's Review the steps of this project!

first: UML (class Diagram)

Visualization can be a helpful tool to manage some part of a design process. and show the overall methods and fields

second :GUI

  • 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.
here is the libraries used:
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;
some snap shots:

Third: Logic Code

Please check our link and upload it in your device,we will wait for your opinion!

Logic used:
We make used of:
  • 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.
Summary of code:
  • 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.
Watch the video of our game

[GHESS_Team14_Youtube

Developments to be added :

  • 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.

Developers who work on this project

Thank u