Commit Graph

51 Commits

Author SHA1 Message Date
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
cb44ae4184 Fix capture
This will probably not be needed in the near future anyway
2021-08-13 17:32:33 +02:00
ab1e70e7d4 Major overhaul of the architecture
It's pretty horrible to have a commit messing up 90% of the code and
also stuff isn't really well organized, but probably it needed to be
done...
2021-08-13 17:16:56 +02:00
0540b262dd Add basic moving capabilities 2021-06-01 21:47:06 +02:00
a3ae7c9f71 Refactor with some OOP 2021-06-01 21:43:25 +02:00
751cc2cc04 Add jsconfig.json
To improve JS experience
2021-05-31 20:59:42 +02:00
0e6cd7e2c0 Refactor project away from html
Main reason is to dynamically specify the dimensions for the
board canvas.
2021-05-31 20:58:48 +02:00
1f6bb25ed7 Add pieces to the board 2021-05-31 20:35:35 +02:00
8d65dda7c6 Make board dimensions global 2021-05-27 20:54:26 +02:00
0bbb4e6125 Add board index 2021-05-26 20:08:53 +02:00
dab3b1798b Draw squares 2021-05-26 19:39:08 +02:00