Commit Graph

901 Commits

Author SHA1 Message Date
Julian Kropff 041a5f135a Add: player actions for game engine 2026-04-04 23:34:01 +02:00
Julian Kropff 700e8de39d Add: core domain models for game engine 2026-04-04 23:31:34 +02:00
Lars Simon Winzer a0319af3b3 Fix: Revert and use relative path instead 2026-04-04 22:09:20 +02:00
Lars Simon Winzer b8a0c224cf Fix: Replace markdown native image embed with html tag 2026-04-04 22:06:09 +02:00
Julian Kropff b99facab3b Docs: fix Game Engine architecture Documentation 2026-04-04 19:10:19 +02:00
Lars Simon Winzer 6d19b89351 Merge branch 'chore/49-serverside-documentation-for-handling-request' into 'main'
Write documentation on how to implement additional commands on the server

Closes #49

See merge request cs108-fs26/Gruppe-13!76
2026-04-04 18:14:06 +02:00
Lars Simon Winzer b9a8448b53 Docs: Write guide on implementing a custom command and link to it from README 2026-04-04 18:08:03 +02:00
Julian Kropff 59c47267ad Docs: fix Game Engine implementation Documentation 2026-04-04 16:13:23 +02:00
Lars Simon Winzer f971e6ad5b Docs: Write technical deep dive for commands and link to it from README
Includes puml diagrams and exported svgs
2026-04-04 15:51:29 +02:00
Lars Simon Winzer 4317b63a87 Docs: Write README for commands section of serverside documentation 2026-04-04 14:36:46 +02:00
Julian Kropff 413999a226 Add: Game Engine implementation Documentation 2026-04-04 11:51:26 +02:00
Julian Kropff ee1e474a9d Docs: Fix typos in poker rules description 2026-04-04 11:47:12 +02:00
Julian Kropff 8c0dd1a481 Docs: A simple description of the poker rules with an example, English version 2026-04-04 10:24:08 +02:00
Julian Kropff 3640c1117d Docs: update client network architecture documentation 2026-04-04 10:21:07 +02:00
Julian Kropff e86de25b34 Add: A simple description of poker rules with an example 2026-04-03 14:35:08 +02:00
Jona Walpert 42b5344059 Test: Add in-process TestServer and update LobbyButtonGridManagerTest
Add TestServer that speaks the RawPacket/TcpTransport protocol for CREATE_LOBBY,
GET_LOBBY_STATUS and JOIN_LOBBY. Update LobbyButtonGridManagerTest to start the
TestServer and exercise a real `ClientService(host, port)`, enabling integration-style
tests of the client->transport->server roundtrip without an external server.

Refs #36
2026-04-02 22:28:12 +02:00
Jona Walpert 76e62b3cff Feat: Accept ClientService and delegate to LobbyClient
Add constructor overload that accepts ClientService and constructs a LobbyClient.
Avoids implicit host/port lookup in UI code; caller controls network config.
Keeps rendering/status behavior unchanged (async updates, deterministic ordering).
2026-04-02 22:26:14 +02:00
Jona Walpert 1070b5d4b9 Chore(startup): Propagate server ip:port to UI via system properties
ClientApp.start parses <ip>:<port>, sets `casono.server.host` / `casono.server.port` and forwards the original launch arg to the JavaFX launcher.
Casinomainui reads JavaFX launch args and exposes the same system properties.
CasinomainuiController reads those properties and constructs `ClientService(host, port)` (no hardcoded defaults)."
2026-04-02 22:12:48 +02:00
Jona Walpert 4daf6ff4a2 Fix: Sort button IDs before iterating map for deterministic rendering
Copy mapping.keySet() to a List and call Collections.sort(...) before iterating.
Ensures stable button placement and reproducible image updates (render + update)
2026-04-02 22:00:18 +02:00
Mathis Ginkel 7b1b35698c Merge remote-tracking branch 'origin/main' 2026-04-02 22:00:06 +02:00
Jona Walpert 3153f7027d fix: temporyy fix for NPE and wrong naming 2026-04-02 18:50:20 +02:00
Jona Walpert b5d19d915b Add: first (non functioning) modified version of lobby button controlelr with abckend conenction 2026-04-02 16:31:27 +02:00
Julian Kropff 09c19c2602 Add: documentation for client network architecture 2026-04-02 16:10:33 +02:00
Julian Kropff 77c7f7c0a5 Add: initial client structure for game and network 2026-04-02 16:08:24 +02:00
Lars Simon Winzer 5568c8a073 Merge branch 'feat/39-add-serverside-check-nick-command' into 'main'
Add serverside CHECK_NICK-command

Closes #39

See merge request cs108-fs26/Gruppe-13!75
2026-04-02 15:10:28 +02:00
Lars Simon Winzer 93dba00a4d Style: Apply Spotless 2026-04-02 15:02:58 +02:00
Lars Simon Winzer de11d673dc Docs: Write JavaDoc for added components 2026-04-02 15:02:00 +02:00
Lars Simon Winzer 72e3d257ff Add: Register CheckUsernameHandler in composition root 2026-04-02 14:35:56 +02:00
Lars Simon Winzer 5ef2fa5df1 Refactor: Change UsernameAvailability from public to package-private access 2026-04-02 14:34:24 +02:00
Lars Simon Winzer 5fa478c440 Add: CheckUsernameHandler getting User from UserRegistry and determining availablity 2026-04-02 14:33:59 +02:00
Lars Simon Winzer 9087f009d3 Add: CheckUsernameResponse containing username availability field 2026-04-02 14:33:26 +02:00
Lars Simon Winzer bfbf4b2015 Add: UsernameAvailability enum with availability states 2026-04-02 14:28:56 +02:00
Lars Simon Winzer ea26e371c2 Merge branch 'main' into 'feat/39-add-serverside-check-nick-command' 2026-04-02 14:24:32 +02:00
Lars Simon Winzer cf64f11912 Merge branch 'feat/47-sessionregistry-get-by-userid-and-username' into 'main'
Add additional getters to SessionRegistry with UserId and username as key

Closes #47

See merge request cs108-fs26/Gruppe-13!74
2026-04-02 14:23:42 +02:00
Lars Simon Winzer 415ad754df Style: Apply Spotless 2026-04-02 14:18:09 +02:00
Lars Simon Winzer a9878da3f2 Docs: Write JavaDoc for changed components 2026-04-02 14:17:45 +02:00
Lars Simon Winzer f91fa698f3 Refactor: Rename user lookup methods from 'find' to 'get' prefix 2026-04-02 14:12:13 +02:00
Lars Simon Winzer 5b70fb89ef Add: Implement methods to find users by UserId and username 2026-04-02 14:11:14 +02:00
Lars Simon Winzer 7a9114045f Merge branch 'main' into 'feat/39-add-serverside-check-nick-command' 2026-04-02 13:50:39 +02:00
Lars Simon Winzer 95e3474c8c Merge branch 'fix/46-sessionreader-catch-missingparameterexception' into 'main'
Modify SessionReader to explicitly catch MissingParameterException and respond with ErrorResponse to request

Closes #46

See merge request cs108-fs26/Gruppe-13!73
2026-04-02 13:48:26 +02:00
Lars Simon Winzer 528a40b394 Style: Apply Spotless 2026-04-02 13:45:14 +02:00
Lars Simon Winzer f95d9174f1 Add: Handle MissingParameterException in SessionReader and respond to request 2026-04-02 13:44:51 +02:00
Lars Simon Winzer 07587340d4 Add: Register CheckUsernameParser in composition root 2026-04-02 13:30:22 +02:00
Lars Simon Winzer 3b44e58505 Add: CheckUsernameParser to check for required parameter 2026-04-02 13:26:27 +02:00
Lars Simon Winzer 35c8590c57 Add: CheckUsernameRequest containing username to check for availability 2026-04-02 13:10:01 +02:00
Lars Simon Winzer f2df06d21a Merge branch 'feat/38-add-serverside-ping-command' into 'main'
Add serverside PING-command

Closes #38

See merge request cs108-fs26/Gruppe-13!72
2026-04-02 12:45:55 +02:00
Lars Simon Winzer 10347b3ed4 Style: Correct method naming 2026-04-02 12:43:05 +02:00
Lars Simon Winzer 87b2dcfc2c Docs: Add JavaDoc to newly added components 2026-04-02 12:27:11 +02:00
Lars Simon Winzer 707477bd73 Add: Integrate PingParser and PingHandler into helper function in composition root 2026-04-02 12:15:01 +02:00
Lars Simon Winzer dafa95af41 Add: PingHandler to execute PingRequest and dispatch Response 2026-04-02 12:09:29 +02:00