Skip to content

Latest commit

 

History

History
64 lines (54 loc) · 2.06 KB

README.md

File metadata and controls

64 lines (54 loc) · 2.06 KB

!ChessehC!

!ChessehC! (sounds fun if pronounced chess-itch) is an (unfinished) chess spin-off where all the pieces move simultaneously in real-time. It's created from scratch with its own 3D graphics engine.

The game was originally my solution to exercise 04 for the 2017 course Object-Oriented Programming (TDT4100) at NTNU, with extensions to the functionality in exercise 07 and 10. The exercises are reproduced and translated from Norwegian below:

First exercise (04)

Choose and complete at least one of the following tasks:

  • Tic-tac-toe (Easiest)
  • Battleship (Easy/Medium)
  • Sudoku (Medium)
  • Sokoban (Hard)
  • Own choice: Choose you own grid based game with similar complexity to the games above

I chose the last one 🙂

Second exercise (07)

Extend your game with the following new functionality:

  • Undo and redo actions
  • Save and load game state
  • Display using JavaFX (Optional)

I didn't complete this exercise, though I implemented a lot of other stuff 😛

Third exercise (10)

Implement the observer pattern in your game:

  • Make the GUI listen to changes in the game
  • Let your game implement the GenericGridGame interface, so that prewritten GUIs may employ your game class

I kept this in the experimental branch expt/observer-pattern, because I like the idea of each object rendering themselves more.

Run/build instructions

Requires having installed JDK 8+.
Also requires graphics drivers supporting OpenGL 3.3.

Windows

> gradlew run

Linux / macOS

> ./gradlew run

Controls

Hit Enter to make the other chess pieces start moving.
Esc to pause/unpause.

Left player:

  • WASD for movement
  • F/G to turn left/right
  • Space to attack

Right player:

  • PL;' on English/American keyboards, PLØÆ on Norwegian keyboards, for movement
  • 4/5 on keypad to turn left/right
  • Right Ctrl to attack

Screenshots

Game menu

Gameplay