Stephen Seo
89a12623b4
Incorporate game AI into game
...
Can select from three difficulties, and the AI makes their move when it
is their turn. AI probably still needs some tweaking..
2022-03-10 16:17:16 +09:00
Stephen Seo
e35870b240
Impl placed token indicator, fixes/refactorings
2022-03-10 15:43:03 +09:00
Stephen Seo
a597b4217a
Update front_end/README.md about website
2022-03-09 19:45:11 +09:00
Stephen Seo
0d3d6b2a8d
Fix typo
2022-03-09 19:29:00 +09:00
Stephen Seo
7e9718a743
Refactorings and linter fixes
2022-03-09 18:14:01 +09:00
Stephen Seo
76e6d3be52
Impl buttons indicator that won the game
2022-03-09 18:10:13 +09:00
Stephen Seo
b902b1c7b4
Impl use of win/draw check, fixes
...
Also added unit tests for win/draw checks.
2022-03-09 17:29:53 +09:00
Stephen Seo
9e9bb0758c
Fix rand not compilable for wasm, impl game logic
...
"rand" crate was not compilable for wasm-unknown-unknown target, so an
alternative "oorandom" crate was substituted in.
Basic game win/draw detection logic added.
2022-03-09 16:26:14 +09:00
Stephen Seo
21041132c6
Minor fixes/tweaks to Utility AI
2022-03-07 19:50:43 +09:00
Stephen Seo
14d224734f
Minor fix to Utility AI code
2022-03-07 17:07:00 +09:00
Stephen Seo
ec9aac8400
Tweak Hard-level AI
...
Shuffles the utilities-index pairs for the cases where there are
multiple pairs of the same utility value.
2022-03-07 16:59:18 +09:00
Stephen Seo
d78c612587
Move "ai/mod.rs" to "ai.rs" (module management)
2022-03-07 14:47:04 +09:00
Stephen Seo
1936e5ce22
Basic impl. of AI (enough completed to use/test)
2022-03-07 14:45:57 +09:00
Stephen Seo
ea2625cb48
WIP AI implementation, some fixes/tweaks to AI
2022-03-07 14:35:09 +09:00
Stephen Seo
93af9c234d
WIP Utility based AI, some impl. progress
2022-03-07 14:23:39 +09:00
Stephen Seo
872fb87313
Minor formatting fix
2022-03-07 13:15:53 +09:00
Stephen Seo
5e2c5b6d41
Minor refactoring
...
Use "From<>" instead of "Into<>" for MainMenuMessage to GameState.
2022-03-07 13:14:57 +09:00
Stephen Seo
2e58bc1288
Set up API for AI choice of slot on board
2022-03-07 13:12:05 +09:00
Stephen Seo
130cc42d86
Impl main menu
...
Only "LocalMultiplayer" can be chosen for the game-mode since neither
AI nor Networked-Multiplayer has been implemented yet.
2022-03-04 16:22:30 +09:00
Stephen Seo
079bf6229f
Impl convenience functions, refactoring
2022-03-03 18:01:46 +09:00
Stephen Seo
462dec9ea1
Remove NodeRef for getter, improve turn indicator
...
All NodeRefs have been removed in favor of "getElementById".
Turn indicator is now much more obvious to see.
2022-03-03 17:36:51 +09:00
Stephen Seo
52b841d98a
Replace slot "ref" with "id"
2022-03-03 14:08:35 +09:00
Stephen Seo
5390e4f9cf
Minor impl: add default messages to info_texts
2022-03-02 19:22:36 +09:00
Stephen Seo
2fb5a18636
Minor refactoring
...
Changed the "Msg" type of "Wrapper" from "String" to "WrapperMsg".
2022-03-02 19:19:50 +09:00
Stephen Seo
3b4d8b3483
Impl additional info text box, drop logic
...
Can place tokens, and not place tokens where there already is a token.
Additional info text box added to the side of the board.
More information to the UI regarding placed tokens.
2022-03-02 17:51:14 +09:00
Stephen Seo
4c8e330c05
Fix comment typo
2022-03-02 16:27:19 +09:00
Stephen Seo
8838dbae69
Cleanup and fixes
...
Remove state::MessageBus in favor of String messages sent to Wrapper
from Slot.
Update Slot state from inside Wrapper::update such that changes should
be immediately visible per Slot (moved code from Wrapper::rendered,
fixing updates not being immediately visble).
2022-03-02 16:25:01 +09:00
Stephen Seo
7e82a6e787
Minor fix to usage of html element for info_text
2022-03-02 15:47:43 +09:00
Stephen Seo
45e2c88745
Reverse info_text vertically
...
info_text's latest messages now appear at the top instead of at the
bottom.
2022-03-02 15:38:24 +09:00
Stephen Seo
15c7dc7654
Reorganize front-end source into modules
2022-03-02 15:18:21 +09:00
Stephen Seo
6316bd2fdc
Removed unnecessary debug logs
...
Also removed unnecessary feature from web-sys dependency.
2022-03-01 16:09:20 +09:00
Stephen Seo
a8e516c535
Added output-text-box, connected front-end items
...
More work was needed to have separate components of the front-end to
communicate with each other. Also added an output-text-box for
informative messages.
2022-03-01 16:02:59 +09:00
Stephen Seo
a756f0b4b2
Have SharedState use an array of Rc's
...
Having each array element be an Rc<Cell<BoardState>> enables sharing
Rc's with the Slot subelement.
2022-03-01 11:05:56 +09:00
Stephen Seo
32a007cf37
Minor fix to front-end
2022-02-28 16:55:07 +09:00
Stephen Seo
dd59bdb5f3
"cargo clippy" (linter) fixes
2022-02-28 16:53:13 +09:00
Stephen Seo
0bedc34ac3
"cargo fmt" on front-end code
2022-02-28 16:50:00 +09:00
Stephen Seo
cd9f7446a4
Impl basic MVP of front-end
...
(MVP is Minimum Viable Product.)
Enough is implemented to view a 7x8 board and click on the tiles in the
board to change their states.
2022-02-28 16:45:33 +09:00
Stephen Seo
a5ec28bbb1
Add front_end skeleton project
2022-02-28 13:49:40 +09:00