Savanni D'Gerinel
d68e088500
Implement the self-capture rule
2023-05-03 20:49:20 -04:00
Savanni D'Gerinel
27d87fcd02
Eliminate the explicit grid
2023-05-03 20:42:03 -04:00
Savanni D'Gerinel
edcf20cc25
Set up makefiles for the Kifu app
2023-05-03 20:29:49 -04:00
Savanni D'Gerinel
78af31f6f9
Overhaul the board representation
...
Groups become more first-class objects, where the grid becomes useful for quick lookups of values.
2023-04-28 01:21:23 -04:00
Savanni D'Gerinel
52e27318fe
Add code to try to handle removing captured stones from the board
2023-04-27 21:53:54 -04:00
Savanni D'Gerinel
e746190a4a
Add coordinates to the board printout
2023-04-27 19:13:06 -04:00
Savanni D'Gerinel
300704297f
Add a renderable field for liberties
2023-04-27 18:56:59 -04:00
Savanni D'Gerinel
3cd39af060
Clean up the liberty sharing test
2023-04-14 09:06:41 -04:00
Savanni D'Gerinel
037484e7b4
Count liberties
2023-04-13 22:38:35 -04:00
Savanni D'Gerinel
6d51ae8479
Add tests
2023-04-13 19:43:40 -04:00
Savanni D'Gerinel
4590bc6688
Adjust margins and the size of the stones
2023-04-06 23:26:46 -04:00
Savanni D'Gerinel
26db170c79
Do some cleanups and allow the cursor to move off the board
2023-04-06 22:29:15 -04:00
Savanni D'Gerinel
59a8f252da
Optimize board updates
2023-04-06 22:13:09 -04:00
Savanni D'Gerinel
8df649d6cd
Place stones on the board
2023-04-06 21:52:39 -04:00
Savanni D'Gerinel
481226e8c6
Detect mouse clicks on the board
2023-04-05 09:48:33 -04:00
Savanni D'Gerinel
b64eda7efd
Don't render ghost stones on unplayable or filled spaces
2023-04-05 09:25:08 -04:00
Savanni D'Gerinel
553d3f8496
Rename Goban to Board and create the IntersectionElement
2023-04-05 09:13:50 -04:00
Savanni D'Gerinel
a8a9c49f02
Fixes resource compilation problems
...
Adds glib_build_tools crate, and adds glib (which provides glib-compile-*) to kifu-gtk.
2023-04-04 12:25:22 -04:00
Savanni D'Gerinel
829b300ca0
Remove the test app. Never needed it.
2023-04-04 01:07:20 -04:00
Savanni D'Gerinel
e32f103dd4
Build with crate2nix
2023-04-04 01:03:08 -04:00
Savanni D'Gerinel
35850b60b3
Add a wood texture background
2023-03-30 22:38:48 -04:00
Savanni D'Gerinel
b236ee54ab
Render a ghost stone over the current cursor location
2023-03-30 22:38:40 -04:00
Savanni D'Gerinel
c2e7399e55
Add the playing field to the main app
2023-03-25 09:24:36 -04:00
Savanni D'Gerinel
d430fd82e6
Draw the goban
2023-03-25 09:00:56 -04:00
Savanni D'Gerinel
62a178e168
Restrict view model screenplay functions behind the screenplay feature
2023-03-24 10:24:46 -04:00
Savanni D'Gerinel
cbae0f47fc
Add a placeholder for the goban itself
2023-03-24 10:14:01 -04:00
Savanni D'Gerinel
b8493b7fe7
Write an initial Playing Field
2023-03-24 09:59:04 -04:00
savanni
ea02e614dd
Render the chat element ( #34 )
...
Closes:
- [Render the chat](https://www.pivotaltracker.com/story/show/184743852 )
Co-authored-by: Savanni D'Gerinel <savanni@luminescent-dreams.com>
Reviewed-on: savanni/tools#34
2023-03-23 03:11:56 +00:00
Savanni D'Gerinel
68096ec743
Add a basic rendering for a player card
2023-03-22 10:59:44 -04:00
Savanni D'Gerinel
db80f47e8b
Add the current player color to the playing field view model
2023-03-21 10:00:46 -04:00
Savanni D'Gerinel
f31f622d6f
Make the connection between the core and the gtk app
...
Set up the core run loop and the GTK loop. To make this work, I'm taking direct control of the Tokio runtime.
Since the GTK thread wants to be the main one, it's easier to manually spawn the runtime handlers and to spawn new tasks to handle communication with the core. I added a basic struct to own the runtime, the core, and communication between the core and GTK
2023-03-21 10:00:11 -04:00
Savanni D'Gerinel
da6cf800ec
Initial app designs
2023-03-18 23:32:43 -04:00