Stephen Seo
e0ed5fc5d8
back_end: Fix bug where CyanWin is MagentaWin
2022-04-28 22:12:36 +09:00
Stephen Seo
174875b88b
back-end/front-end: Rust clippy fixes/refactorings
2022-04-27 16:51:57 +09:00
Stephen Seo
3172af19f8
front-end/back-end: Tweaks to game AI
2022-04-27 15:02:53 +09:00
Stephen Seo
665dff94fe
back-end: Enforce max-length of user-input phrase
2022-04-27 14:11:02 +09:00
Stephen Seo
059d0608b6
Impl match players via phrase
...
Front-end now has option to input phrase on game start.
Fixed back-end accepting empty strings (will treat empty strings as if
no phrase was given).
2022-04-27 12:47:45 +09:00
Stephen Seo
e060d94186
front-end: Minor fix related to reset button
2022-04-25 15:19:25 +09:00
Stephen Seo
b26c9ff6d1
front-end: Impl Reset button
2022-04-25 15:02:18 +09:00
Stephen Seo
501ce91ac3
back_end refactorings
...
Have back_end cleanup stale players/games on an interval, not every
iteration of its loop.
Replace usage of recursion in db_handler.rs .
2022-04-20 14:14:03 +09:00
Stephen Seo
2aa4200835
Fix not "disconnecting" (hopefully on mobile too)
...
Sometimes the player would not disconnect from the Network Multiplayer
session on the back-end. Seems to work on PC browsers, not so well with
moblie browsers. This commit hopefully fixes this for mobile browsers.
2022-04-08 12:41:20 +09:00
Stephen Seo
70eb1ca121
Fix not "disconnecting" on refresh (hopefully)
2022-04-08 12:17:15 +09:00
Stephen Seo
ee8187cabb
Fix not "disconnecting" on page close/refresh
...
Hopefully this works this time.
2022-04-08 12:01:15 +09:00
Stephen Seo
284f294c6d
Fix not "disconnecting" on refresh
2022-04-08 11:55:31 +09:00
Stephen Seo
392fc5e7f0
Fix whitespace in edited classes, try fix unload
...
The method to send the disconnect on page close was changed, but it is
still uncertain if it works correctly.
2022-04-08 11:42:18 +09:00
Stephen Seo
c9ba80e6a4
Impl "too_many_players" response from back-end
...
Previous implementation did not respond with the proper JSON response if
there were too many players.
2022-04-08 11:01:33 +09:00
Stephen Seo
74ca3fd696
Add GPL3 Licence headers to sources
2022-04-06 20:49:54 +09:00
Stephen Seo
62431f0d0e
Update README.md for backend and frontend
2022-04-06 20:38:49 +09:00
Stephen Seo
50221a0356
Add Licenses for frontend and backend (GPL3)
2022-04-06 20:34:45 +09:00
Stephen Seo
91c9eab05e
Fix messages being displayed on networked game end
2022-04-06 20:17:27 +09:00
Stephen Seo
59bdcc2a34
Tweak "board to string" and back for better info
2022-04-06 20:09:22 +09:00
Stephen Seo
2e0b29ed70
Add "release" configuration for BACKEND_URL
2022-04-06 19:40:40 +09:00
Stephen Seo
567cec9500
Minor tweaks (and cargo fmt
got aggressive)
2022-04-06 19:38:59 +09:00
Stephen Seo
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
Stephen Seo
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
Stephen Seo
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
Stephen Seo
83a9ab2ea0
frontend: WIP! in progress setting up id request
2022-04-04 18:25:17 +09:00
Stephen Seo
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
Stephen Seo
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
Stephen Seo
8782a731bc
Move some backend fns to the shared "state.rs"
2022-03-31 21:02:52 +09:00
Stephen Seo
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
Stephen Seo
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
Stephen Seo
d200a2fd7c
Rename deferred_helper.js -> async_js_helper.js
2022-03-15 13:46:35 +09:00
Stephen Seo
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
Stephen Seo
8fa4093a0d
Setup dependencies for connection to backend WIP
2022-03-14 13:18:11 +09:00
Stephen Seo
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
Stephen Seo
92f91672fa
Fix infinite loop bug, refactorings/fixes
2022-03-10 17:01:34 +09:00
Stephen Seo
38e7772d4f
More AI tweaks
2022-03-10 16:44:01 +09:00
Stephen Seo
d8377d280a
Tweaks to AI for correctness
2022-03-10 16:39:26 +09:00
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