59bdcc2a34
Tweak "board to string" and back for better info
2022-04-06 20:09:22 +09:00
2e0b29ed70
Add "release" configuration for BACKEND_URL
2022-04-06 19:40:40 +09:00
567cec9500
Minor tweaks (and cargo fmt
got aggressive)
2022-04-06 19:38:59 +09:00
89b9bf860b
Working multiplayer between frontend backend
...
WIP Need to set the URL and host the backend on the website.
2022-04-06 18:43:17 +09:00
8c84aae173
605.607 WIP! working get-id and disconnect
...
The frontend "server" and backend server must be served via the same
port/address. This can be done by using nginx as the server, and using
reverse-proxies from nginx to the frontend and backend servers.
2022-04-06 13:39:12 +09:00
8712d4cd8b
frontend: WIP! request id in progress
...
Frontend is able to successfully send a Request, but is failing to
get/parse the Response.
2022-04-05 18:16:04 +09:00
83a9ab2ea0
frontend: WIP! in progress setting up id request
2022-04-04 18:25:17 +09:00
c8eb6ab5be
Impl turn timeouts, db entry timeouts
...
AI takes a players turn if they take too long on their turn (currently
set to 25 seconds).
Backend times out player/game entries in database.
2022-04-01 19:52:46 +09:00
0d9e35dd28
Refactorings and bug fixes
...
Protocol was also updated to match the output from the backend.
Fixed "id" not returning as an integer from the backend.
2022-04-01 17:17:42 +09:00
8782a731bc
Move some backend fns to the shared "state.rs"
2022-03-31 21:02:52 +09:00
e4d4d6e153
Move enum from yew_components mod to state mod
...
Preparation for symlinking shared code into the backend project.
2022-03-29 14:41:04 +09:00
839e9021fa
Refactor: Replace calling JS settimeout with Rust
...
web-sys and js-sys provides ways to use "settimeout" in pure Rust which
is used instead of calling into Javascript to do "settimeout".
2022-03-23 16:56:25 +09:00
d200a2fd7c
Rename deferred_helper.js -> async_js_helper.js
2022-03-15 13:46:35 +09:00
ebf0cb5bb8
Impl async delay on AI choice
...
This commit is also a stepping-stone towards handling http requests
which will require deferred callbacks on Yew Components. By figuring
out how to delay callbacks in this commit, it should be easier to
figure out how to handle http requests that may require a deferred
callback.
2022-03-15 13:16:09 +09:00
8fa4093a0d
Setup dependencies for connection to backend WIP
2022-03-14 13:18:11 +09:00
414740b7ce
Reorder code to print winning move
...
Previously, the winning move was not printed at the bottom info_text.
2022-03-10 18:16:30 +09:00
92f91672fa
Fix infinite loop bug, refactorings/fixes
2022-03-10 17:01:34 +09:00
38e7772d4f
More AI tweaks
2022-03-10 16:44:01 +09:00
d8377d280a
Tweaks to AI for correctness
2022-03-10 16:39:26 +09:00
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
e35870b240
Impl placed token indicator, fixes/refactorings
2022-03-10 15:43:03 +09:00
a597b4217a
Update front_end/README.md about website
2022-03-09 19:45:11 +09:00
0d3d6b2a8d
Fix typo
2022-03-09 19:29:00 +09:00
7e9718a743
Refactorings and linter fixes
2022-03-09 18:14:01 +09:00
76e6d3be52
Impl buttons indicator that won the game
2022-03-09 18:10:13 +09:00
b902b1c7b4
Impl use of win/draw check, fixes
...
Also added unit tests for win/draw checks.
2022-03-09 17:29:53 +09:00
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
21041132c6
Minor fixes/tweaks to Utility AI
2022-03-07 19:50:43 +09:00
14d224734f
Minor fix to Utility AI code
2022-03-07 17:07:00 +09:00
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
d78c612587
Move "ai/mod.rs" to "ai.rs" (module management)
2022-03-07 14:47:04 +09:00
1936e5ce22
Basic impl. of AI (enough completed to use/test)
2022-03-07 14:45:57 +09:00
ea2625cb48
WIP AI implementation, some fixes/tweaks to AI
2022-03-07 14:35:09 +09:00
93af9c234d
WIP Utility based AI, some impl. progress
2022-03-07 14:23:39 +09:00
872fb87313
Minor formatting fix
2022-03-07 13:15:53 +09:00
5e2c5b6d41
Minor refactoring
...
Use "From<>" instead of "Into<>" for MainMenuMessage to GameState.
2022-03-07 13:14:57 +09:00
2e58bc1288
Set up API for AI choice of slot on board
2022-03-07 13:12:05 +09:00
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
079bf6229f
Impl convenience functions, refactoring
2022-03-03 18:01:46 +09:00
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
52b841d98a
Replace slot "ref" with "id"
2022-03-03 14:08:35 +09:00
5390e4f9cf
Minor impl: add default messages to info_texts
2022-03-02 19:22:36 +09:00
2fb5a18636
Minor refactoring
...
Changed the "Msg" type of "Wrapper" from "String" to "WrapperMsg".
2022-03-02 19:19:50 +09:00
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
4c8e330c05
Fix comment typo
2022-03-02 16:27:19 +09:00
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
7e82a6e787
Minor fix to usage of html element for info_text
2022-03-02 15:47:43 +09:00
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
15c7dc7654
Reorganize front-end source into modules
2022-03-02 15:18:21 +09:00
6316bd2fdc
Removed unnecessary debug logs
...
Also removed unnecessary feature from web-sys dependency.
2022-03-01 16:09:20 +09:00