Commit Graph

171 Commits

Author SHA1 Message Date
230f7480e4 Merge remote-tracking branch 'origin/289-server' into 289-server 2026-01-07 15:41:28 +01:00
Bas de Jong
67f39c3f3b Code readability 2026-01-07 14:38:19 +01:00
b7dec7798b Collapsed interfaces in Controller section 2026-01-07 13:13:32 +01:00
2caa4fc79f Fixed runtime error I forgot to fix. 2026-01-07 12:42:54 +01:00
e72d888d84 Collapsed interfaces from model portion 2026-01-07 12:41:25 +01:00
Bas de Jong
a7d1a964c2 Moved subscriptions to store 2025-12-15 10:01:23 +01:00
lieght
34c85ec472 Removed user from subscription if in a game 2025-12-14 13:11:55 +01:00
2d9b34b7f6 Quick fix so more than one game can be played in succession 2025-12-14 11:36:51 +01:00
lieght
b94d1b6c9d Small improvements to usability, auto disconnect when server closes connection 2025-12-14 01:13:42 +01:00
lieght
8cb0a86d4e Working subscription, button only subs to reversi right now 2025-12-13 23:20:28 +01:00
lieght
c2f1df7143 Refactor done, added ability to subscribe 2025-12-13 22:44:13 +01:00
lieght
0956286616 Partial server refactor 2025-12-13 21:11:26 +01:00
55de6b5b18 Merge remote-tracking branch 'origin/289-server' into 289-server 2025-12-13 18:53:18 +01:00
73d71f2a2d Making moves works. Game notifies when game has ended. 2025-12-13 18:53:10 +01:00
lieght
cbcce29780 Closable server 2025-12-13 18:38:31 +01:00
lieght
afcd9be71e Fixed hasArgs 2025-12-13 17:53:31 +01:00
a9145d44cf Merge remote-tracking branch 'origin/289-server' into 289-server 2025-12-13 17:50:03 +01:00
c015100ebf Werkt nog niet 2025-12-13 17:49:54 +01:00
lieght
cd5736afc8 Removed space in naming 2025-12-13 17:38:36 +01:00
lieght
89a9cb1e55 Using pairs now in server.java 2025-12-13 17:37:34 +01:00
lieght
22270e58dc Added pairs 2025-12-13 17:33:14 +01:00
lieght
edd2c24b65 Added ability to take ServerPlayer from user 2025-12-13 17:22:56 +01:00
c929abc4b8 Removed Generics, pray nothing breaks. 2025-12-13 17:08:34 +01:00
lieght
8b85915c74 Fixes 2025-12-13 17:08:10 +01:00
lieght
9c20fcbc39 Fixed bugs, easy to use host button 2025-12-13 15:01:28 +01:00
lieght
4d31a8ed44 Working challenges 2025-12-12 21:48:57 +01:00
lieght
fc47d81b8e Init challenges 2025-12-12 19:47:51 +01:00
lieght
a60c702306 Tests and better instantiation 2025-12-12 16:47:17 +01:00
lieght
c30c118c04 Code cleanup 2025-12-12 16:04:12 +01:00
4b8edf1585 Merge remote-tracking branch 'origin/289-server' into 289-server
# Conflicts:
#	app/src/main/java/org/toop/app/canvas/ReversiBitCanvas.java
#	app/src/main/java/org/toop/app/canvas/TicTacToeBitCanvas.java
#	framework/src/main/java/org/toop/framework/game/games/reversi/BitboardReversi.java
#	framework/src/main/java/org/toop/framework/game/games/tictactoe/BitboardTicTacToe.java
2025-12-12 15:53:45 +01:00
fa9c2ce32b Removed Generics, pray nothing breaks. 2025-12-12 15:53:24 +01:00
Bas de Jong
84e411fa38 Moves 2025-12-12 15:17:12 +01:00
Bas de Jong
66cb000fad Init server code 2025-12-12 15:15:55 +01:00
Bas de Jong
a9c99df5d2 Better limits to generic acceptance 2025-12-09 21:07:30 +01:00
Stef
912d25c01f Merge bitboards into development (#285)
* added new classes for the games that use bitboards instead. also combined game with turnbasedgame

* (DOES NOT COMPILE) In-between commit

* turn updates

* smalle fixes aan turn updates

* Bitboard implemented with scuffed TicTacToe translation done by game. This should be done by the view.

* Almost done with implementing bitboards. Reversi is broken and artifical players don't work yet.

* better human/ai selector with bot selection and depth on TicTacToeAIR

* fixed getLegalMoves

* depth + thinktime back to AIs, along with a a specific TicTacToeAIRSleep

* fixed overlapping back and disconnect buttons

* Changed to debug instead of info

* changed the transitionNextCustom to be easier to use

* added getAllWidgets to WidgetContainer

* Correct back view

* added replacePrevious in ViewWidget

* added removeIndexFromPreviousChain

* fixed incorrect index counting

* Fixt wrong view order

* fixed? getLegalMoves

* Everything is broken

* Removed todo

* fixed getLegalMoves & getFlips

* Challenge popups "Fixed"

* Fixed local and online play for both games

* Popups now remove themselves

* Removed souts for debugging

* localize the ChallengePopup text

* made the game text a header instead

* made more classes deepClonable.

* fixed getAllWidgets

* Added comment

* Escape popup

* fixed redundant container

* Made all network events async again

* Escape remove popup

* Working escape menu

* Removed old AI and old files. Added a new generic random AI. game no longer deals with translation.

* Drawing of board on canvas is now done from bitboards rather than translating.

* Added a method getWinner() to game interface.Controller now tells gameThreads how to deal with drawing UI and sending a move to server.

* Added find functionality

* Added a ChatGPT generated MiniMaxAI based on the old MiniMaxAI but with alpha-beta pruning and heuristics for Reversi

* Removed System-Outs to clean up console

* Update BitGameCanvas.java

* Merge fixes

* Removed unused imports

---------

Co-authored-by: ramollia <>
Co-authored-by: michiel301b <m.brands.3@st.hanze.nl>
Co-authored-by: lieght <49651652+BAFGdeJong@users.noreply.github.com>
2025-12-08 18:23:06 +01:00
lieght
a838973e67 Code cleanup 2025-12-07 20:43:56 +01:00
lieght
a4f2a67d9c Deleted unnecessary imports 2025-12-07 20:39:29 +01:00
Bas Antonius de Jong
38f50cc16d Event bus now testable, improved UI (#284)
* turn updates

* smalle fixes aan turn updates

* better human/ai selector with bot selection and depth on TicTacToeAIR

* depth + thinktime back to AIs, along with a a specific TicTacToeAIRSleep

* fixed overlapping back and disconnect buttons

* Changed to debug instead of info

* changed the transitionNextCustom to be easier to use

* added getAllWidgets to WidgetContainer

* Correct back view

* added replacePrevious in ViewWidget

* added removeIndexFromPreviousChain

* fixed incorrect index counting

* Fixt wrong view order

* Removed todo

* Challenge popups "Fixed"

* Popups now remove themselves

* localize the ChallengePopup text

* made the game text a header instead

* fixed getAllWidgets

* Escape popup

* fixed redundant container

* Escape remove popup

* Working escape menu

* Added find functionality

* Tutorials moved to escape menu

* Escape can't be opened in mainview now

* Can now test the event bus, created testable interfaces

* Logging errors

* Made events and handlers more generic

* Suppress

* Managers now have changeable eventbus

* Tutorials fixed

* Removed import

* Single threaded eventbus

* Fixed wrong eventbus

* Removed get

* Removed old code

* Renaming

* Optimization

* Removed useless comment

* Removed unnecessary imports

* Rename

* Renaming, refactor and type safety

* Rename

* Removed import

---------

Co-authored-by: michiel301b <m.brands.3@st.hanze.nl>
Co-authored-by: ramollia <>
2025-12-07 17:38:34 +01:00
8c75ac1471 Making threads verbose regarding exceptions 2025-12-03 21:51:01 +01:00
Stef
8d77f51355 272 remake game framework interfaces to properly represent vmc (#278)
* Cleaned up a lot of old files and renamed/remade interfaces to better suit the framework

* Broken commit

* Fixed online play

* Better file structure and closer to MVC
2025-12-03 20:35:37 +01:00
Stef
9f55f8e1c7 Merge new framework into development (#269)
* Created a somewhat generic TurnBasedGame thread. Temporary UI that only works for TicTacToe rn. Added a LocalPlayer with the intent to add more players

* (RANDOM COMMIT) Hope it works

* Changes by bas

* Fixed dependency issues

* Fixed major issue in game deepcopy

* Merge conflict fix

* Removed unused import

* Update GTBGT branch from dev branch (#263)

* started a basis for the tutorials, tic tac toe is almost done with some general stuff still to do.

* rest van de tutorials toegevoegd

* Removed views

* Merge conflict fix

* Removed unused import

---------

Co-authored-by: michiel301b <m.brands.3@st.hanze.nl>
Co-authored-by: ramollia <>
Co-authored-by: Bas Antonius de Jong <49651652+BAFGdeJong@users.noreply.github.com>

* Revert "Update GTBGT branch from dev branch (#263)"

This reverts commit 9134d7e343.

* Fixed frontend not using GameController because of spaghetti code.

* Removed unused imports

* GameCanvas not implements a DrawPlayerMove that can be overridden for specific implementations

* Created an event that will request the controller to refresh the UI.

* ADDED DEPENDENCY. Renamed GameControllers to GameManagers, gameThread is not game controller.

* Attempt at adding an online player. I think it doesn't work because of unsubscriben after success not working

* Multiplayer is functional through OnlineThreadBehaviour. Empty slots are currently represented by -1 in the GUI.

* Removed sout spam, added logger than I can't get to work.

* Idek what these changes are

* Te lang geen commit, sorry

* Multiplayer seems to work pretty well now, hopefully I can add the other games soon.

* Added unsubscribe to EventFlow. ListenerHandler now functional. GlobalEventbus now user listenerHandler

* getAllListeners

* Removed nulls

* Inbetween commit of adding Reversi. This is a lot of spaghetti.

* Fixed stress tests

* Fixed typo in NetworkingGameClientHandler that prevented losses from being received

* Missed 2nd typo. Fixed

* Added docs, no more list creation when adding events to the bus.

* Fixed unsubscribe not working.

* Moved away from deprecated functions

* moved from wildcard to typed

* Moved away from deprecated function

* Added debugging to GlobalEventBus

* Fixed cleaning flow

* Fixed unsubscribe all

* Fixed unsubscribe all

* Removed unused import

* Works now with updated EventFlow(). Unsubscribing works. ReversiAIR has an issue where a forced move returns -1 and local play back button doesn't work properly. To be fixed

* Fixed ReversiR issue that caused skip turn desync

* Fixed color mismatch with server and online main player is now correct.

* Added a bunch of java doc and small changes

* Small changes

* Added a new Thread Behaviour to test framework.

* Fixed human error I made in TicTacToeR logic...

* Fixed broken event and wrong player being presented as winner.

* Idk changes

* Fixed PR conflicts

---------

Co-authored-by: michiel301b <m.brands.3@st.hanze.nl>
Co-authored-by: Bas Antonius de Jong <49651652+BAFGdeJong@users.noreply.github.com>
2025-12-02 11:25:22 +01:00
Bas Antonius de Jong
d9437c1b8a Tutorials to Dev (#264)
* Fixed garbage code

* added a pop button

* Tutorial images now use ImageAsset.java

* Added button to continue and start game. Refactors

* Refactored nextScreen runnable

* Removed unused imports

* Refactored switch statement

* Added documentation

* Removed space

* Added translations

* Added function input for enabling/disabling localization p/text

---------

Co-authored-by: ramollia <>
2025-12-02 10:57:46 +01:00
Bas Antonius de Jong
12a20a224e Fix music display not working (#267)
* Added unsubscribe to EventFlow. ListenerHandler now functional. GlobalEventbus now user listenerHandler

* getAllListeners

* Removed nulls

* Fixed stress tests

* Added docs, no more list creation when adding events to the bus.

* Fixed unsubscribe not working.

* Moved away from deprecated functions

* moved from wildcard to typed

* Moved away from deprecated function

* Added debugging to GlobalEventBus

* Fixed cleaning flow

* Fixed unsubscribe all

* Fixed unsubscribe all

* Removed unused import

* Added LoadingWidget.java for server feedback

* Replace deprecated with correct function
2025-11-30 17:51:52 +01:00
Bas Antonius de Jong
81740acd04 Debugs for EventBus and fixed unsubscribe all (#266)
* Added unsubscribe to EventFlow. ListenerHandler now functional. GlobalEventbus now user listenerHandler

* getAllListeners

* Removed nulls

* Fixed stress tests

* Added docs, no more list creation when adding events to the bus.

* Fixed unsubscribe not working.

* Moved away from deprecated functions

* moved from wildcard to typed

* Moved away from deprecated function

* Added debugging to GlobalEventBus

* Fixed cleaning flow

* Fixed unsubscribe all

* Fixed unsubscribe all

* Removed unused import
2025-11-30 17:15:14 +01:00
Bas Antonius de Jong
25c02c7ad0 Fix eventbus problems (#265)
* Added unsubscribe to EventFlow. ListenerHandler now functional. GlobalEventbus now user listenerHandler

* getAllListeners

* Removed nulls

* Fixed stress tests

* Added docs, no more list creation when adding events to the bus.

* Fixed unsubscribe not working.

* Moved away from deprecated functions

* moved from wildcard to typed

* Moved away from deprecated function
2025-11-30 14:22:05 +01:00
ramollia
a2d651cd7d Merge remote-tracking branch 'refs/remotes/origin/Development' into Tutorials
# Conflicts:
#	app/src/main/java/org/toop/app/game/Connect4Game.java
2025-11-28 11:51:46 +01:00
tichohidding
8c01c7fa7a Merge branch 'Development' into Widgets 2025-11-27 17:19:17 +01:00
michiel301b
8c69453506 started a basis for the tutorials, tic tac toe is almost done with some general stuff still to do. 2025-11-26 22:03:06 +01:00
Bas de Jong
a6b835bddf Removed no more needed comments 2025-11-20 11:41:44 +01:00
eda85ea888 Removed unused import and unused parameter 2025-10-29 13:51:56 +01:00