Skip to content

dervism/terminal-aichess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Terminal Games

The project contains three board games that is playable directly from the terminal. The goal of the project is to learn different board representations and move generation algorithms. In most cases, the most effective algorithm is the 𝛼/ϐ cutoff search.

Terminal Chess

Simple Java 23 chess app that uses bitboards. This implementation is mainly for learning the bitboard data-structure, one of the most effective and compact chess data formats. It's hard to implement the bit-shifting and bit-masking correctly.

PS: This is still work in progress. The game works, but will only respond with random moves at the moment.

Running in your terminal: java --enable-preview --source 23 src/main/java/no/dervis/terminal_games/terminal_chess/TerminalChess.java

In your terminal, this is how the app will look like.

TODOs:

  • Implement basic bitboard
  • Implement terminal ui
  • Implement basic move generation
  • Implement complete move generation (checks, attacks, castling, en-passant, promotions)
  • Implement legal moves filtering
  • Implement perft move generation analysis
  • Implement basic ai (𝛼/ϐ search)
  • Implement advanced ai (monte-carlo simulation & neural networks)

Terminal Tic Tac Toe

A complete Java 23 tic-tac-toe game that can scale to custom set bigger boards.

TODOs:

  • Implement list-based board
  • Implement board scaling
  • Implement terminal ui
  • Implement move generation
  • Implement basic ai (minimax with 𝛼/ϐ cutoff)

Terminal Checkers

A Java 23 checkers game that uses a map based board. It supports regular moves, jump moves and kings.

PS: This is still work in progress. The game works, but will only respond with random moves at the moment.

TODOs:

  • Implement map-based board
  • Implement terminal ui
  • Implement basic move generation
  • Implement complete move generation (forward and backward moves, jump moves)
  • Implement basic ai (minimax with 𝛼/ϐ cutoff)

Releases

No releases published

Packages

No packages published

Languages