mirror of
https://github.com/2OOP/pism.git
synced 2025-12-15 02:07:59 +00:00
main
* fast server connection
* Fixed bugs and oversights
* Renamed asset folder to resource, made resourceLoader more robust. Completed some TODO's, formatting
* AppSettings now also get loaded into the assetmanager
* start to reversi logic
* legal moves now get highlighted in red
* Moves flip dots. all tests pass. can play reversi local.
* Working state. Split AudioManager into 3 different branches for easier testing and srp
* Reworked to now use better defined generics and easier to use API. Added AudioResource to be used in changing volume
* Made all of the updated classes more generic for better flexibility in unittesting
* Added more flexible dependency injection to MusicManager for unittesting. Moved to event driven design for less complex code and lower runtime complexity.
* Split SoundEffectManager from AudioManager. (#171)
Clips no longer create a new clip instance each time they are played. A singular clip is made for each resource and is opened/closed when loaded/unloaded. When a clip is played that is already playing it'll stop playback and start again. Clip volume handling isn't done very well.
* Unit tests for MusicManager.java
* Hotfix for loading clip volume issue (#174)
* Fixed AudioVolumemanager, all volumes calculations are now made in VolumeTypes enum
* Added ability to remove a manager from VolumeTypes
* Removed file no longer in use
* Fixed grammer and spelling mistakes
* Renamed VOLUME to MASTERVOLUME for better naming
* Minor changes in API design
* Renamed VolumeTypes to VolumeControl. Made it thread safe. Added docs to VolumeControl and co.
removed .updateAllVolumes() in favor of auto updating inside enum instead
* Added ErrorProne for potential bugs. Fixed potential bugs.
* Small fixes.
* Removed no more needed code.
* Finished todo's
* Moved restrictedAPI to future release
* Finished todo's
* Moved restrictedAPI to future release
* 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...
* 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 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>
* 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
---------
Co-authored-by: ramollia <@>
Co-authored-by: Ticho Hidding <tichohidding@gmail.com>
Co-authored-by: Stef <48526421+StefBuwalda@users.noreply.github.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: tichohidding <58555714+tichohidding@users.noreply.github.com>
Languages
Java
96.1%
CSS
3.9%