Skip to content

Nouman-Irfan/JavaFX-Chess-Game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

23 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

โ™Ÿ๏ธ JavaFX Chess Game

๐Ÿš€ Advanced Chess Engine & Interactive GUI Built with JavaFX




โ™š Strategic Chess Experience Powered by JavaFX โ™š

๐Ÿ’ป A fully interactive JavaFX Chess Game implementing complete chess mechanics, intelligent move validation, smooth graphical gameplay, and modern object-oriented architecture.


๐Ÿ‘จโ€๐Ÿ’ป Developed By

Muhammad Nouman


๐Ÿš€ Built with passion for software engineering, game development, and problem solving.


โšก Professional Desktop Chess Experience

Built using Java, JavaFX, and Object-Oriented Programming principles.


๐ŸŒŸ Project Highlights

โœจ Interactive JavaFX GUI

โœจ Complete Chess Rules Implementation

โœจ Accurate Move Validation System

โœจ Dynamic Piece Rendering

โœจ Real-Time Check & Checkmate Detection

โœจ Smooth Turn-Based Gameplay

โœจ Modern Object-Oriented Architecture

โœจ Professional Asset Management

โœจ Beginner-Friendly Yet Scalable Code Structure


๐Ÿ“ธ Game Preview

โ™Ÿ๏ธ Main Gameplay


โš”๏ธ Mid Game Battle


โ™š Checkmate Screen


๐ŸŽฎ Gameplay Features

โ™™ Pawn Logic โ™– Rook Logic โ™˜ Knight Logic
โ™— Bishop Logic โ™• Queen Logic โ™” King Logic
โš”๏ธ Piece Capturing ๐Ÿง  Move Validation ๐Ÿšซ Illegal Move Prevention
โ™š Check Detection ๐Ÿ† Checkmate Detection ๐Ÿ”„ Turn Management
๐ŸŽจ GUI Rendering ๐Ÿ–ฑ๏ธ Mouse Interaction โšก Real-Time Updates

๐Ÿ› ๏ธ Technologies Used

Technology Purpose
โ˜• Java Core Programming Language
๐ŸŽจ JavaFX GUI Development
๐Ÿง  OOP Code Architecture
โ™Ÿ๏ธ Chess Logic Gameplay Mechanics
โšก Event Handling User Interaction
๐Ÿ’ป Desktop Application Application Environment

๐Ÿ“‚ Project Structure

JavaFX-Chess-Game/
โ”‚
โ”œโ”€โ”€ src/
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ Main.java
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ ASSETS/
โ”‚       โ”‚
โ”‚       โ”œโ”€โ”€ board.png
โ”‚       โ”‚
โ”‚       โ”œโ”€โ”€ pieces/
โ”‚       โ”‚   โ”œโ”€โ”€ wp.png
โ”‚       โ”‚   โ”œโ”€โ”€ wr.png
โ”‚       โ”‚   โ”œโ”€โ”€ wn.png
โ”‚       โ”‚   โ”œโ”€โ”€ wb.png
โ”‚       โ”‚   โ”œโ”€โ”€ wq.png
โ”‚       โ”‚   โ”œโ”€โ”€ wk.png
โ”‚       โ”‚   โ”œโ”€โ”€ bp.png
โ”‚       โ”‚   โ”œโ”€โ”€ br.png
โ”‚       โ”‚   โ”œโ”€โ”€ bn.png
โ”‚       โ”‚   โ”œโ”€โ”€ bb.png
โ”‚       โ”‚   โ”œโ”€โ”€ bq.png
โ”‚       โ”‚   โ””โ”€โ”€ bk.png
โ”‚       โ”‚
โ”‚       โ””โ”€โ”€ game_end/
โ”‚           โ”œโ”€โ”€ white_wins.png
โ”‚           โ”œโ”€โ”€ black_wins.png
โ”‚           โ””โ”€โ”€ draw.png
โ”‚
โ”œโ”€โ”€ PICTURES/
โ”‚   โ”œโ”€โ”€ gameplay.png
โ”‚   โ”œโ”€โ”€ midgame.png
โ”‚   โ””โ”€โ”€ checkmate.png
โ”‚
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ LICENSE
โ””โ”€โ”€ .gitignore

โš™๏ธ JavaFX Setup Guide

โœ… Requirements

Before running the project, install:

  • โ˜• Java JDK 17 or higher
  • ๐ŸŽจ JavaFX SDK
  • ๐Ÿ’ป IntelliJ IDEA

๐Ÿ“ฅ Download JavaFX SDK

Download JavaFX SDK from:

https://gluonhq.com/products/javafx/

After downloading:

1๏ธโƒฃ Extract the folder 2๏ธโƒฃ Remember the JavaFX SDK location

Example:

C:\javafx-sdk-24

โš™๏ธ Configure JavaFX in IntelliJ IDEA

1๏ธโƒฃ Open Project Structure

File โ†’ Project Structure

2๏ธโƒฃ Add JavaFX Library

Go to:

Libraries โ†’ + โ†’ Java

Select:

javafx-sdk-24/lib

Press OK โœ…


3๏ธโƒฃ Configure VM Options

Go to:

Run โ†’ Edit Configurations

Inside VM Options, paste:

--module-path "YOUR_JAVAFX_LIB_PATH" --add-modules javafx.controls,javafx.fxml

Example:

--module-path "C:\javafx-sdk-24\lib" --add-modules javafx.controls,javafx.fxml

๐Ÿ“ฆ Assets Placement Guide

โš ๏ธ All images and assets MUST remain inside:

src/ASSETS/

โ™Ÿ๏ธ Chess Piece Images

Store all chess piece PNG files inside:

src/ASSETS/pieces/

Required files:

wp.png
wr.png
wn.png
wb.png
wq.png
wk.png

bp.png
br.png
bn.png
bb.png
bq.png
bk.png

๐Ÿ† Game End Screens

Store game result images inside:

src/ASSETS/game_end/

Required files:

white_wins.png
black_wins.png
draw.png

๐Ÿงฉ Chess Board Image

Board image location:

src/ASSETS/board.png

โš ๏ธ Do NOT rename asset files unless updating image paths in code.


๐Ÿš€ How To Run The Project

๐Ÿ“ฅ Clone Repository

git clone https://github.com/Nouman-Irfan/JavaFX-Chess-Game.git

๐Ÿ’ป Open Project

1๏ธโƒฃ Open IntelliJ IDEA 2๏ธโƒฃ Click Open 3๏ธโƒฃ Select project folder 4๏ธโƒฃ Configure JavaFX SDK 5๏ธโƒฃ Run Main.java


๐Ÿ“š Learning Objectives

This project was developed to strengthen understanding of:

  • ๐Ÿง  Object-Oriented Programming
  • ๐ŸŽจ GUI Development using JavaFX
  • โšก Event Handling
  • โ™Ÿ๏ธ Chess Algorithms
  • ๐Ÿ’ป Software Architecture
  • ๐Ÿš€ Game Development
  • ๐Ÿ” Problem Solving
  • ๐Ÿ“ฆ Resource Management

๐Ÿ”’ License

This project is licensed under the GNU GPL v3 License ๐Ÿ“œ


๐Ÿ‘จโ€๐Ÿ’ป Authors

Muhammad Nouman

๐Ÿ’ป Computer Science Students ๐Ÿš€ Aspiring Software Engineers โ™Ÿ๏ธ Java & Game Developers


โญ If you like this project, consider giving it a star on GitHub!


๐Ÿš€ โ€œGreat developers donโ€™t just write code โ€” they build systems.โ€

About

โ™Ÿ๏ธ A modern Java-based Chess Game featuring complete chess mechanics, move validation, turn-based gameplay, and interactive board logic. Built using object-oriented programming principles with a focus on clean architecture, game logic, and strategic gameplay. ๐Ÿš€

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages