All Projects → alimranahmed → Checkmate

alimranahmed / Checkmate

Licence: other
A human vs human chess game build on basic JAVA.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Checkmate

cm-pgn
Parse and create PGNs (Portable Game Notation for chess games)
Stars: ✭ 16 (+6.67%)
Mutual labels:  chess
Java-Programs
Java Practiced Problems including concepts of OOPS, Interface, String , Collection.
Stars: ✭ 51 (+240%)
Mutual labels:  oop
pogchamps
Next/React + Symfony project covering the Pogchamps chess.com tournaments
Stars: ✭ 27 (+80%)
Mutual labels:  chess
stockfish.js
The strong open source chess engine Stockfish compiled to JavaScript and WebAssembly using Emscripten
Stars: ✭ 140 (+833.33%)
Mutual labels:  chess
lila-tablebase
Tablebase server
Stars: ✭ 51 (+240%)
Mutual labels:  chess
underwater-chess
Chess, written in React, driven by a Stockfish-powered API
Stars: ✭ 20 (+33.33%)
Mutual labels:  chess
spe
A series of PHP8 examples based around a super simple MVC framework (WIP)
Stars: ✭ 14 (-6.67%)
Mutual labels:  oop
uci
A thin wrapper on a uci chess engine
Stars: ✭ 33 (+120%)
Mutual labels:  chess
UnityChess
A 3D chess game made with Unity. Core game library submodule: https://github.com/ErkrodC/UnityChessLib
Stars: ✭ 90 (+500%)
Mutual labels:  chess
express-mvc-pattern
Example nodejs using express implementation design pattern using mvc architecture.
Stars: ✭ 52 (+246.67%)
Mutual labels:  oop
chess graph
A program that will produce a graphical sunburst chart of chess openings from the PGN that is provided to it
Stars: ✭ 35 (+133.33%)
Mutual labels:  chess
BeFoR64
BeFoR64, Base64 encoding/decoding library for FoRtran poor men
Stars: ✭ 17 (+13.33%)
Mutual labels:  oop
isepic-chess
♞ JavaScript chess utility library.
Stars: ✭ 16 (+6.67%)
Mutual labels:  chess
chess
The game of Chess
Stars: ✭ 25 (+66.67%)
Mutual labels:  chess
ConvChess
Convolutional Neural Networks learns to play chess moves
Stars: ✭ 14 (-6.67%)
Mutual labels:  chess
open qoob
a semi-RESTful php api framework designed to simplify and expedite the process of creating dynamic web applications.
Stars: ✭ 16 (+6.67%)
Mutual labels:  oop
chess
An R package to read, write, create and explore chess games
Stars: ✭ 60 (+300%)
Mutual labels:  chess
ChineseChessOnline
一款canvas版中国象棋游戏,支持高清图像/canvas响应式设计/ 实时对战/棋谱功能/在线聊天。A Canvas version of the Chinese chess game, supporting high-definition images / Canvas responsive design / real-time combat / chess spectrum function / online chat
Stars: ✭ 25 (+66.67%)
Mutual labels:  chess
python-pyfields
Define fields in python classes. Easily.
Stars: ✭ 39 (+160%)
Mutual labels:  oop
ooop
OOP has never been sooo professionally over engineered before.
Stars: ✭ 20 (+33.33%)
Mutual labels:  oop

Checkmate

A chess game using Java(J2EE) and JAVA Swing API.

chess_default

Features

  1. Programmed based Object Oriented Programming fully
  2. Methods and classes are very much dynamic
  3. GUI is created using Java Swing API.
  4. Any future code cab be embaded easily.
  5. Core java is used
  6. Well commented

Limitions

  1. Human vs. Human only
  2. Change of settings at runtime is not enabled.

Internal Architecture

There are 10 seperate classes to organize the program properly. RunChess class contains the main method, the starting point of the program. This class also contains the conditions of turn of pieces. Other 9 classes are explained below:

  1. Square: This public class extends the Jpanel class of Swing API. This class has four attributes described below: 1.1. status: Contain whethere the square is free or not. 1.2. piece: If the square is not free then contain the piece of the square. 1.3. isActive: Contain whether the square was clicked. 1.4. row: The row position of the square. 1.5. col: The column position of the square. Each of the above attribute has their needed getter or setter method.

  2. Board: This is the public class that extends JPanel class of Swing API and contains all the squares and pieces of needed in chess game. This class has all necessary method to initialize methods the board as per user's preferences. This board is very much dynamic. It can initialize with according any of user's prefernce. Even the color of the squares of the board can be changed by just calling the setColor(Color black,Color white) if user wants.

  3. Piece: Piece class is an abstract class. This class contains three attributes a) color, b) imageIcon and c) pieceType. This class also contains tow abstract methos defined as getColor() and getPieceType(). getColor() methos returns the color (black/white) of the piece on the other hand getPieceType() method return the type(e.g. pawn) of the piece.

  4. Pawn: This class extends abstract class Piece. This class has no attribute but two constructors. The defult constructor construct a pawn of white color. On the other hand the other constructor that receive the color of the piece construct the pawn with defined color. This class implement the abstract methods of its parent class Piece.

  5. Knight: Same methods and constructors as pawn but this class construct Knight.

  6. Rook: Same methods and constructors as pawn but this class construct Rook.

  7. Bishop: Same methods and constructors as pawn but this class construct Bishop.

  8. Queen: Same methods and constructors as pawn but this class construct knight.

  9. King: Same methods and constructors as pawn but this class construct King.

Screenshots

Board can be reversed

chess_reverse

Turn

turn_rook

Color can be changed

chess_color_change1

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].