Commit Graph

61 Commits

Author SHA1 Message Date
15202df4f4 Move some methods around 2025-02-20 21:24:59 +01:00
797c54e83b Purge ALL_VALUES from rank/file enums 2025-02-20 21:07:55 +01:00
01ccb65b64 Swap file and rank in Position
Because the chess positions read as "file-rank"
2025-02-20 21:00:53 +01:00
5108b4a6e2 Add uv config to adapter 2025-02-19 21:41:56 +01:00
98645f01d0 Make grid axes dumb enums 2025-02-18 21:27:12 +01:00
c7f82769e3 Add reset button 2022-01-05 22:10:04 +01:00
0e8eb7b767 Simplify the get_legal_moves method
It's cheap (and gets rid of boilerplate) to check for the field
occupancy inside the get_moves and get_captures funcitons.
2021-12-27 20:29:39 +01:00
5916a054ad Add basic autoplay features to frontend
Rudimentary play for white against engine is now possible.
2021-12-27 20:16:38 +01:00
c92a9e42d7 Add array reply parsing to the adapter 2021-12-27 20:15:21 +01:00
0f7de146b7 Implement dummy chess solver
It chooses a random available move ¯\_(ツ)_/¯
2021-12-22 22:03:17 +01:00
95c0ccfbd2 Move some functionality into the new Engine mod
This will help with separating the "thinking" logic from the move rules
and stuff.
2021-12-21 21:07:19 +01:00
802b069269 Add command for manual state setting at engine 2021-12-20 21:46:21 +01:00
ef5719f2f5 Reorganize board code in engine
Just a bit
2021-12-20 21:17:14 +01:00
d80cc79f57 Use destructuring for arg splitting in engine ui
This make the arg handling code less awkward.
2021-12-20 21:13:34 +01:00
a7d3bb3752 Use cargo run in the adapter
Makes it easier to start the app eliminating the danger of forgetting to
build.
2021-12-17 21:26:06 +01:00
6ee41a112c Introduce movement Rays
These reflect the fact that a piece can't jump over another piece
(unless it's a knight).

Issue #5
2021-12-17 21:25:51 +01:00
6bbcadddfd Fix flickering on board redraw
Turns out == operator can't be used to compare two JS objects. Implement
a custom method for determining piece equality.
2021-12-14 21:57:26 +01:00
a1207f2404 Implement moving on engine
Thus make all state management the engine's responsibility, and remove
the state maintaining code from frontend!
2021-12-14 21:56:27 +01:00
c49bedf0ad Split state parsing on adapter into separate func 2021-12-14 21:55:23 +01:00
4ae73410bd Implement make_move function on engine 2021-12-14 21:12:59 +01:00
27dce5f7a3 Implement move squares highlighting
Issue #3
2021-12-13 20:46:53 +01:00
9bb6a60ded Implement adapter to the get_moves function
Issue #3
2021-12-13 20:22:52 +01:00
8d93acf950 Implement selected piece highlighting
Issue #3
2021-12-13 20:14:53 +01:00
f9212a8291 Refactor move handling in frontend
Make the move handlers better encapsulated and abstract away the click.

Issue #3
2021-12-13 20:11:37 +01:00
941a5c072a Refactor square drawing
Make square drawing modular and a member function of Canvas.

Issue #3
2021-12-13 19:38:54 +01:00
d36a948936 Use separate function to talk to engine in adapter 2021-12-13 18:21:24 +01:00
b9f39fa0b4 Implement get_moves command on rs
Issue #1
2021-12-13 18:03:42 +01:00
aa899740c6 Implement basic cmdline UI framework
Issue #1
2021-12-12 12:50:02 +01:00
6d433a6d01 Create a separate Ui struct 2021-12-12 11:49:06 +01:00
1f5e58d981 Implement get_legal_moves function 2021-12-11 19:00:09 +01:00
7788aea805 Address eslint 2021-12-11 18:08:02 +01:00
9e8b633447 Fix clippy suggesting to do something weird 2021-12-11 18:03:49 +01:00
f8c7323b47 Implement std::fmt::Display for board 2021-12-11 17:59:22 +01:00
7143427dd2 Fix misc clippy suggestions 2021-12-11 17:28:06 +01:00
7dabb49cd4 Do another refactoring of frontend 2021-12-11 17:15:50 +01:00
b5c252bd4d Implement basic frontend-engine interaction
Use a Flask-based Python server as an adapter to the engine's
stdin-stdout inferface.
2021-12-11 14:58:16 +01:00
57931b29de Add serialization to String 2021-12-05 18:14:16 +01:00
4f3469b3e3 Change Board state to HashMap 2021-12-05 15:43:40 +01:00
81626aefec Remove position from Piece struct 2021-12-05 12:08:45 +01:00
02e7d7e984 Split board-related stuff into board.rs 2021-12-05 11:54:15 +01:00
458f87fd61 Rename row/column to rank/file
This is how they're "officially" called
2021-12-04 18:54:09 +01:00
e45fd3981a Implement board setup 2021-11-23 22:47:56 +01:00
72a691de90 Implement initial Pawn setup 2021-11-22 22:42:21 +01:00
cc58260943 Refactor Piece 2021-11-17 22:15:00 +01:00
799c91fea0 Prettier index.html 2021-11-14 14:43:32 +01:00
51e5228145 Implement basic Piece infrastructure
And the Pawn class
2021-11-14 14:42:53 +01:00
6279e076ac Initialize rs schach engine 2021-11-10 20:53:13 +01:00
7edf459485 Revert "Start backend with rocket.rs"
This reverts commit 28011b8f93.
2021-11-09 21:41:29 +01:00
b246ba83d1 Make prettier 2021-11-08 21:55:51 +01:00
28011b8f93 Start backend with rocket.rs 2021-08-15 12:07:02 +02:00