• Stars
    star
    110
  • Rank 316,770 (Top 7 %)
  • Language
    Java
  • License
    MIT License
  • Created about 11 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A simple chess game that implements basic OOP concepts.

ChessOOP

A simple GUI based chess game that implements basic OOP concepts in Java. The class design and requirement analysis of this project was done as a part of the Object Oriented Analysis and Design course while the actual implementation was done was a part of Paradigms of Programming Part I course.

Running the Game

This game can be played by simply executing binary in Executable Jar folder. The Executable bit of the Chess.jar needs to be set in order to execute the file. New players have to be created for the first time you run the program.

Features

  1. GUI Developed using Java Swing
  2. Backtracking to determine all possible moves of a piece
  3. Greedy Approach to determine if the move results in a potential win/loss
  4. A number of GUI Event Handlers were implemented

Developing the Project

The project can be imported in Eclipse and developers can start right away. The are two 2 main packages. The Piece package provides functionalities for each piece on the Chess Board. The chess package provides the major functionalies including the Main Class. The Time Class provides the timer related functions and the Player Class is the vitual avatar of a real player. The chessboard is made of 64 cells and each cell is modeled in Cell class. The GUI functions on each cell has also been provided.

The project has been well documented in 3 docs - Software Requirement Specification, Class Design, Project Documentation. Please go through it to get more insight about the working of the project.

Since this was one of our first project during our undergraduate, there are a lot of bugs. The coding style and standards might not be up to the mark. Please bear with us.

Project Contributors

  1. Ashish Kedia ([email protected])
  2. Adarsh Mohata ([email protected])