Compare commits

...

3 Commits

Author SHA1 Message Date
678553a89c Fixing centering of heading and gif
All checks were successful
continuous-integration/drone/push Build is passing
2025-04-04 20:32:19 -04:00
c234510f6d Update .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2025-04-04 20:19:34 -04:00
4a062c463a Adding a readme
Some checks reported errors
continuous-integration/drone/push Build was killed
2025-04-04 19:56:16 -04:00
3 changed files with 38 additions and 0 deletions

View File

@ -41,6 +41,11 @@ trigger:
steps:
- name: build
image: git.pipsquire.com/djweber12/chess_board_sim:latest
settings:
username:
from_secret: docker_username
password:
from_secret: docker_password
commands:
- cmake -S . -B build
- cmake --build build

33
README.md Normal file
View File

@ -0,0 +1,33 @@
<div align="center">
<h1 align="center">Chessboard Tester</h1>
<a href="https://drone.pipsquire.com/djweber12/chess_board_sim" >
<img src="https://drone.pipsquire.com/api/badges/djweber12/chess_board_sim/status.svg"/>
</a>
</div>
### Background
During the Covid pandemic I started a project of building a custom 3d printed chess board. What make's this so special you may ask? This chess board has lights under each of the 64 locations and hall effect sensors to track when peices are picked up and put down. Then using the lights we could light up where peices can move to when they picked up as a way to help new chess players(like my nephew :smile:).
To take a break from the mechanical board for a second I started working on the software needed, but wanted an easy way to prototype the software without having hardware yet. As such I used SDL to emulate what the game logic would look like.
The final intent is to pull out all of the emulation code and convert what remains into a library that both this emulator and chessboard firmware can use.
### Todos
- [x] Game logic, including corner cases like casteling, and en passant.
- [x] Add [fen strings](https://www.chess.com/terms/fen-chess) to be able to read and set game state.
- [x] Lighting up possible moves and detecting errors(cheating)
- [ ] Refactor into a library.
- [ ] Animating the light up sequences
- [ ] Integrate [stockfish](https://github.com/official-stockfish/Stockfish) to be able to play against an AI. Or have the AI recommend movesl.
### Building & Running
```
cmake -S ./ -B build/
cmake --build build/
./build/src/Chess
```
<p align="center">
<img src="https://git.pipsquire.com/djweber12/chess_board_sim/raw/branch/main/docs/screen_cap.gif"/>
</p>

BIN
docs/screen_cap.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 KiB