Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/detectivekaktus/cheezee
Chess TUI client built for Linux
https://github.com/detectivekaktus/cheezee
board-game c chess client game linux-game ncurses tui
Last synced: about 1 month ago
JSON representation
Chess TUI client built for Linux
- Host: GitHub
- URL: https://github.com/detectivekaktus/cheezee
- Owner: detectivekaktus
- License: mit
- Created: 2024-04-03T16:19:43.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2024-07-09T22:05:39.000Z (6 months ago)
- Last Synced: 2024-07-30T14:23:17.976Z (5 months ago)
- Topics: board-game, c, chess, client, game, linux-game, ncurses, tui
- Language: C
- Homepage:
- Size: 203 KB
- Stars: 15
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# cheezee
![Cheezee preview showing a chessboard position.](https://github.com/detectivekaktus/cheezee/blob/master/imgs/preview1.png)
Cheezee (pronounced as cheese) is an ncurses chess client written for Linux. Play custom positions with FEN notation you can type in or pass as `--fen` argument to the client or play normal game from the standard position.
The FEN position you enter is formatted in the following way: **BOARD WHO_TO_MOVE CASTELING**. For instance you can use **rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq** but not **rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1**.
The client supports all legal moves in chess (including en-passant, casteling) and can understand whether the position is in checkmate or in stalemate.
All the moves played are logged to the right hand side of the board with the standard notation except that the black pieces are annotated with lowercase letters.
For users who have a trauma after using VIM or VIM-like editors, you can exit the program or some parts of the program by pressing Q or ESCAPE no matter where you are.
## Compilation
In order to compile the program, you need to have a C compiler (either GCC or clang) and the ncurses library installed on your system.Invoke the following command to compile the executable:
```console
$ make
```## Contribution
The codebase is a mess which was written with big delays and so it lacks some modern C, good logic and good skills of writing C code.