mirror of
https://github.com/2OOP/pism.git
synced 2026-02-04 02:44:50 +00:00
b3e29a32620f014dfe45ca512b649c230e20e3e0
* Changed pom to be correct. Fixed SnowflakeGenerator not making unique ids. Changed naming for event implementation. Automated id getter for events. Added Error-Prone to all modules. Added parents to all modules. Added processors module. * SoundEffectManager now generic * Removed ResourceManager from AudioManagers * Added linelistener to SoundEffectAsset * commit * commit ofzo * Tests for SoundEffectManager * getLegalMoves logic seems fixed //todo write better tests * Tests toegevoegd * punk toegevoegd * Added shuffling on user request * Reworked NetworkingClientManager into SRP model. * Forgot to remove * Improved API for dependency injection * Some better docs. * gui refactor * fixed merge conflicts * Added exceptions. Added reconnect attempts and changeable address * Fixed event bug * add: reversi game * add: server chat box * visual update * Refactor to make Events easier to work with. * Quick fix for closing connection. * Documentation * Correct client creation and user polling * begin van audio display * Polling music event, fires every 1 second * Updated test. * Updated timings * Nuke everything on close. * Basis Audio Display toegevoegd + standaard CSS toegevoegd Kan nu zien hoe lang de song duurt, hoe lang ie al bezig is met draaien en de titel (-.mp3) * Clips now also return positional information * Skip Button * Skip Button * Fixes for garbage code by Omar * Tiny fix when natural skip * Small event fix * Faster event schedule for PlayingMusic event * test fix * added method for sorting the flipped pieces by distance to Move.position * new reversi test (both players no legal moves) * connect4 with minimax AI * Toegevoegd: -Play Button + CSS + Events -Previous Button + CSS + Events -Changed interface for AudioResource to include a pause button which works really well with mediaplayer, however now SoundEffectAsset has an unnessescary pause * Made it so that it indicates with the play/pause button if its paused or played * add simple flip animations and fixed(?) server somewhat * fixed tests * can start game from playerlist screen * tourney ready * spam minder * fixed setgamelabels * spam minder v2 * canvas changes * moved score out of game * can now go to last using previous and being at the first song * mainview false for sendchallengeview * moved score out of game * kleine ui fix * updated music ma,es * started working on the widget system * iets met timing verkeerd temporary fix * Fixes for garbage code by Omar * Added replace to reduce boiler plate code * Manually fallback to the fallback locale when a ResourceBundle is missing a resource key. Fallsback to "MISSING RESOUREC" if it's not present in the fallback. * Removed unused import and unused parameter * cool onhover effect for reversi * Made the GameState enum it's own file and fixed imports * Removed unused import * Turned abstract methods into an interface * Moved the Move record into it's own file, seperated from Game * Removed unused imports * Renamed Interface Playtable to IPlayable * Turned Abstract Method for AI into interface * Refactored Game to follow encapsulation principle * Removed unused imports * Applied encapsulation principle to TurnBasedBame.java * Privated methods that didn't have to be public * Reversi: made method private * Changed checkForEarlyDraw so it doesn't need a game as input. * Fixed warning "Warning:(27, 12) Copy constructor does not copy field 'mostRecentlyFlippedPieces'", removed unused field * Made connect4 public method private * half done with the widget system * added some comments and made some methods a bit more readable * widget system almost complete * Functional code, is now object orientated * Removed no more needed comments * started a basis for the tutorials, tic tac toe is almost done with some general stuff still to do. * rest van de tutorials toegevoegd * resizable true * fixed turn skip bug fixed end score bug now only shows legal and highlight moves when human * Squashed commit of the following: commit a517f2f302baa89f8ef59946a31c7bb59c56770f Author: Stef <stbuwalda@gmail.com> Date: Thu Nov 27 15:43:43 2025 +0100 Make it so the game shows "Waiting on ... to make their move". Styling isn't done but it is easier to see who's turn it is. There is a lot of structuring to do in the previous code... * merge widgets with development * readd previous game thread code * Revert "readd previous game thread code" This reverts commitd24feef73e. * Revert "Merge remote-tracking branch 'origin/Development' into Development" This reverts commit59d46cb73c, reversing changes made to38681c5db0. * Revert "merge widgets with development" This reverts commit38681c5db0. * Fixed compilation errors * Changed the way turns are being stored in TurnBasedGame. * Removed views * Added function input for enabling/disabling localization p/text * 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 * 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 * 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 * Removed loading widget from Server.java * Fixed old new EventFlow().listen() missing false as third param * 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 <> * 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 commit9134d7e343. * 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> * added back button sounds because SOMEONE fucked it up..... * 231 connecting to server feedback (#275) * 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 * Imports * fixed loadingwidget * Workable LoadingWidget and trying to connect to server * Removed output * Small bug temp fix --------- Co-authored-by: ramollia <> * Double loading call fix, LoadingWidget docs * Main menu loader (#277) * LoadingWidget main menu * fixed garbage code * Fixed garbage code 2 * LoadWidget fix, added loading to starting the game. Removed unnecessary console output --------- Co-authored-by: ramollia <> * Fixed systems starting, before assets being loaded (I am retarded) * Added infinite boolean, fixed loading behaviour at startup * 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 * Best fix for white screen at start * Making threads verbose regarding exceptions * Loading circle, better loading colors. * 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 <> * initSystems now uses latch instead of timer. Moved single threads to Executor * Safety * Deleted unnecessary imports * Code cleanup * changed "fullscreen exit key combination" from esc to F11 * shitty fix for player selector spacing issue * shitty fix for player selector spacing issue v2 * fixed reversi colors being switched, causing multiple issues * 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> * Better limits to generic acceptance * Will fix tests etc later * Merge 292 into development (#293) Applied template method pattern to abstract player * Added documentation to player classes and improved method names (#295) * Init server code * Moves * Testing code * Removed Generics, pray nothing breaks. * Code cleanup * Tests and better instantiation * Init challenges * Working challenges * Fixed bugs, easy to use host button * Fixed tic tac toe naming * Fixes * Removed Generics, pray nothing breaks. * Added ability to take ServerPlayer from user * Added pairs * Using pairs now in server.java * Removed space in naming * Werkt nog niet * Fixed hasArgs * Closable server * Making moves works. Game notifies when game has ended. * Partial server refactor * Refactor done, added ability to subscribe * Working subscription, button only subs to reversi right now * Small improvements to usability, auto disconnect when server closes connection * Missed a boolean * Quick fix so more than one game can be played in succession * Removed user from subscription if in a game * UI fixes after game end * TableWidget * mcts v1 * Moved subscriptions to store * bitboard optimization * Collapsed interfaces from model portion * Fixed runtime error I forgot to fix. * Collapsed interfaces in Controller section * Collapsed interfaces in View section * Code readability * bitboard fix & mcts v2 & mcts v3. v3 still in progress and v4 coming soon * main * 289 server demo ready (#306) * Server update with new dev changes (#305) * merge widgets with development * readd previous game thread code * Revert "readd previous game thread code" This reverts commitd24feef73e. * Revert "Merge remote-tracking branch 'origin/Development' into Development" This reverts commit59d46cb73c, reversing changes made to38681c5db0. * Revert "merge widgets with development" This reverts commit38681c5db0. * Merge 292 into development (#293) Applied template method pattern to abstract player * Added documentation to player classes and improved method names (#295) * mcts v1 * bitboard optimization * bitboard fix & mcts v2 & mcts v3. v3 still in progress and v4 coming soon * main * Hotfix for stuff * Logging and fixed user input getting stuck * Fixed merge mistakes * Revert "Merge remote-tracking branch 'refs/remotes/origin/main' into Development" This reverts commite2132b549d, reversing changes made to9aefcb9b7b. * Turn information * legal move highlight and onhover effect added back * 289 server (#308) Incremental server update, with working tournament and player input timeout * Server update with new dev changes (#305) * merge widgets with development * readd previous game thread code * Revert "readd previous game thread code" This reverts commitd24feef73e. * Revert "Merge remote-tracking branch 'origin/Development' into Development" This reverts commit59d46cb73c, reversing changes made to38681c5db0. * Revert "merge widgets with development" This reverts commit38681c5db0. * Merge 292 into development (#293) Applied template method pattern to abstract player * Added documentation to player classes and improved method names (#295) * mcts v1 * bitboard optimization * bitboard fix & mcts v2 & mcts v3. v3 still in progress and v4 coming soon * main --------- Co-authored-by: ramollia <> Co-authored-by: Stef <stbuwalda@gmail.com> Co-authored-by: Stef <48526421+StefBuwalda@users.noreply.github.com> * Hotfix for stuff * Logging and fixed user input getting stuck * Fixed merge mistakes * Working tournament * GlobalEventBus is now async instead * Shuffle now changeable, host can now switch tournament gametype * Tournament results are now send back to the clients connected to the server * Tournament now returns result to clients * Refactored tournament to use interfaces and builders * Removed unnecessary imports * Tournament refactor for better naming and easier to understand code * Starting a tournament now requires to be admin * Request admin list * Added admins to games * Tournament is now without admins * Added result comeback with a draw * Async tournament runner * Added back ability to shuffle matchmaker * Moved scoring calculation into scoring system * Tournament now uses propper builder pattern * Null handling * Removed input mistake, removed print * Refactored Tournament to use matchExecutor and ResultBroadcaster. Added turnTime and players are now added through Tournament creation instead of on MatchMaker/ScoreSystem creation * Added shuffle to builder * Removed unnecessary throw * More adaptable scoring system * Moved async runner to virtual thread * Timeout added * AI player given time change --------- Co-authored-by: Stef <stbuwalda@gmail.com> Co-authored-by: Stef <48526421+StefBuwalda@users.noreply.github.com> * update mcts, incremental merge (#311) * mcts v1, v2, v3, v4 done. v5 wip * update mcts * mcts v1, v2, v3, v4 done. v5 wip * update mcts * Merge changes on dev * update mcts --------- Co-authored-by: ramollia <> * Research Experiment Data generator * added visual score to reversi * New CSV structure thats cleaner, the code in AITest is also cleaner * implement solved * fixed things * saving games data to games.csv * readded the exploration constant * changed the way multithreading worked * Better data collection for overnight run * Infinite game collection * Correct time data visualization effect on timetable lookup for data collection purposes * Back to 10ms * m4 nu 8 threads * AI data now correct * Data collection fixes * name fixes * AI wait fixes * Added thread test * Small thread count fix * Fixes * name fixes * fixed extra wait time for threads * readded threads argument * Parameters added to tests * Moved back in threads * AI Thread fixes --------- Co-authored-by: Ticho Hidding <tichohidding@gmail.com> Co-authored-by: Stef <stbuwalda@gmail.com> Co-authored-by: michiel <m.brands.3@st.hanze.nl> Co-authored-by: ramollia <@> Co-authored-by: ramollia <> Co-authored-by: tichohidding <58555714+tichohidding@users.noreply.github.com> Co-authored-by: Stef <48526421+StefBuwalda@users.noreply.github.com>
Languages
Java
97.1%
CSS
2.8%
PowerShell
0.1%