Chess made as an assignment project for OOP course 2021/22

Overview

logo

chess

Chess made as an assignment project for OOP course 2021/22

Installation

Project is built with Maven

  1. Clone the repository
  2. In the directory containing pom.xml run mvn clean javafx:run
  3. Alternatively you can run app.Main class from your IDE

Changelog

5-05-2022 goals [Completed]

  • basic UI interactions
  • game skeleton
  • integrating ui with game core

TODO:

  • menus
  • complete chess logic
  • game events
  • optional chess configuration
  • api for external players and ai

Screenshots

s1 s2

Project architecture

uml

You might also like...

A Minecraft mod made by TurtyWurty's community with a theme around ancientness and mythology

Ancientology Description A Minecraft mod made by TurtyWurty's community with a theme around ancientness and mythology. This uses the Forge modding API

Aug 12, 2022

spark client is a utility mod for anarchy server made by dvd, geza3d and me

Spark-Client spark client is a utility mod for anarchy server made by dvd, geza3d and me.

Dec 11, 2022

A simple puzzle game made with Unity to practice the game engine

A simple puzzle game made with Unity to practice the game engine.

Mar 30, 2022

Simple plugin made for TimBW HCF to fix pearling noclip exploit

Simple plugin made for TimBW HCF to fix pearling noclip exploit

Simple plugin made for TimBW HCF to fix pearling noclip exploit. It currently can prevent pearl glitching throught blocks, and fences like all servers! Basic features implemented, so you can use this in production. 😃

Aug 10, 2022

Arena is a demo server made with Minestom

Arena is a demo server made with Minestom, as both a showcase for what Minestom is capable of and as a way to teach developers how to work with Minestom.

Dec 29, 2022

Play snake, in minecraft. This is a crude, horibly made snake in minecraft game. Requires PaperMC 1.18.2.

MinecraftSnake Play snake, in minecraft. This is a crude, horibly made snake in minecraft game. Requires PaperMC 1.18.2. Installation: Create a paperm

Sep 30, 2022

A mod about player interactions, made for Modfest: Singularity.

A mod about player interactions, made for Modfest: Singularity.

Affectionate A mod about affectionate player interactions, made for Modfest: Singularity. What is it? This mod focuses on affectionate player interact

Dec 10, 2022

A Minecraft Mod For TeaCon 2021

Source installation information for modders ------------------------------------------- This code follows the Minecraft Forge installation methodology

Sep 25, 2021

1002 ftc repo for the 2021 rr5 game

NOTICE This repository contains the public FTC SDK for the Freight Frenzy (2021-2022) competition season. Welcome! This GitHub repository contains the

Mar 14, 2022
Comments
  • `ChessPiece` violates Interface Segregation Principle and encapsulation

    `ChessPiece` violates Interface Segregation Principle and encapsulation

    Currently methods in chess.ChessPiece (previously chess.pieces.ChessPiece) are public for Chess to be able to use chess-specific functionality in pieces. However ChessPiece is then exposed for users as an interface with information relevant for chess players. Alongside all useful methods, those public methods are also exposed. This violates ISP since they are irrelevant in many places, and encapsulation since they provide information that should be hidden.

    I've tried isolating appropriate interface, however this doesn't work, because Game expects objects with those specific methods in the public interface, e.g. in the getLegalMoves(int, ChessPiece) method.

    I can see two solutions here:

    • Create abstract ChessPiece which exposes publicly only relevant methods, and has a package-private field with AbstractChessPiece that can be used by the game
    • Make all methods in ChessPiece protected and disallow using this interface inside pieces package, i.e. pieces can operate only on concrete piece types.
    opened by mhorod 2
Releases(v1.1.1)
Owner
Michał Horodecki
Theoretical Computer Science student at the Jagiellonian University, Cracow, Poland
Michał Horodecki
Software Engineering course assignment

swe-foxcatcher-game This is a JavaFX application of a simple chessboard game. Rules of the game Starting board: Fox can move diagonally in every direc

Bence Czövek 3 May 19, 2021
Chess in Mindustry.

ChessDustry A (Java) Mindustry Mod that adds Chess pieces to the game. Building for Desktop Testing Install JDK 17. Run gradlew jar [1] or preferred [

null 14 Aug 6, 2022
An arcade game project which made using java and swing for graphics

Arcade_Game_Development This is an arcade game project which made using java and swing for graphics. Meteor Dodge Here you have to dodge the meteor an

Md. Shakib Shahariar Junayed 1 May 25, 2022
simple spigot plugin malware remover, made in 10 minutes lol

spigot-malware-remover Simple spigot plugin malware remover made in 10 minutes, using ASM bytecode manipulation library. Compile it using maven, if yo

Michał Kaczmarek 24 Oct 29, 2022
Plugin with helpful tools for factions, made to be used beside atlas spigot.

AtlasUtils Plugin with helpful tools for factions, made to be used beside atlas spigot. Features: Config: Found in your plugins folder at AtlasUtils/c

null 2 Dec 24, 2021
A fairly Simple Game made in Java,You can adopt Pets, name them, and take care of them for XpPoints and level up!

Introducing PetGame! A simple console based game made by @denzven in Java ☕ About the Game PetGame is my first big project in Java, the rules are simp

Denzven 11 Jun 7, 2022
Minecraft Mod: Torches made from glowing squids that can be used underwater!

Aquatic Torches No more dark oceans Ever wondered what to do with glowing ink sacs aside from glowing item frames? Aquatic Torches adds waterproof tor

Marius 2 Jan 9, 2022
It's a particle system only appliaction. Made with LWJGL (OpenGL and GLFW for Java) and ImGui.

ParticleParty It's a particle system only appliaction. Made with LWJGL (OpenGL and GLFW for Java) and ImGui. How To Use Move the camera with ctrl + W/

Ahmet Aydogan 2 Jan 8, 2022
A game made in Javafx that includes animation, background music, and view leaderboards

A game made in Javafx that includes animation, background music, and view leaderboards. To keep the game alive, a player has to move the ball up/down by pressing the up/down arrow so that the ball only touches different rotating obstacles with the same color. ..

Bijendar Prasad 3 Nov 19, 2022