Skip to content

Endoman123/gdx-chess

Repository files navigation

gdx-chess

Chess game developed in LibGDX.

The goal is to do independent study on various algorithms used in chess engines. For funsies.

Goals

  • Create a chess game that properly follows official rules, with en passant and castling.
  • Utilize FEN notation and Memento Pattern for board state storage.
  • Create AI that can analyze board and pick best possible move (Minimax & Alpha-beta pruning).
  • Properly notate moves being made in game

Gradle

This project uses Gradle to manage dependencies. Gradle wrapper was included, so you can run Gradle tasks using gradlew.bat or ./gradlew commands. Useful Gradle tasks and flags:

  • --continue: when using this flag, errors will not stop the tasks from running.
  • --daemon: thanks to this flag, Gradle daemon will be used to run chosen tasks.
  • --offline: when using this flag, cached dependency archives will be used.
  • --refresh-dependencies: this flag forces validation of all dependencies. Useful for snapshot versions.
  • build: builds sources and archives of every project.
  • cleanEclipse: removes Eclipse project data.
  • cleanIdea: removes IntelliJ project data.
  • clean: removes build folders, which store compiled classes and built archives.
  • desktop:jar: builds application's runnable jar, which can be found at desktop/build/libs.
  • desktop:run: starts the application.
  • eclipse: generates Eclipse project data.
  • idea: generates IntelliJ project data.
  • lwjgl3:jar: builds application's runnable jar, which can be found at lwjgl3/build/libs.
  • lwjgl3:run: starts the application.
  • test: runs unit tests (if any).

Note that most tasks that are not specific to a single project can be run with name: prefix, where the name should be replaced with the ID of a specific project. For example, core:clean removes build folder only from the core project.

About

Chess game made in LibGDX

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages