|
|
d797dc545e
|
Add forgotten Knight parsing
|
2025-02-22 15:54:28 +01:00 |
|
|
|
e798480b72
|
For pawn caputre rays do same as knight rays
|
2025-02-22 15:47:13 +01:00 |
|
|
|
eda2ec6c93
|
Implement Knight
|
2025-02-22 15:39:49 +01:00 |
|
|
|
7cc7fa3e70
|
Refactor Position delta
Now it's a bit easier to work with
|
2025-02-22 15:38:43 +01:00 |
|
|
|
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 |
|