Ajout des diagrammes de classe pour les différents packages

This commit is contained in:
2024-12-11 09:13:00 +01:00
parent a7be395f72
commit be5b9bf20e
12 changed files with 670 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -0,0 +1,16 @@
@startuml
class fr.monkhanny.dorfromantik.components.Title {
+ <<Create>> Title(String,float)
+ <<Create>> Title(String,float,Color)
+ void updateTitleFont(float)
}
class fr.monkhanny.dorfromantik.components.Button {
+ {static} JButton createCustomTextButton(String,float)
+ {static} JButton createCustomIconButton(String)
}
fr.monkhanny.dorfromantik.components.JLabel <|-- fr.monkhanny.dorfromantik.components.Title
@enduml

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

View File

@@ -0,0 +1,97 @@
@startuml
class fr.monkhanny.dorfromantik.controller.MainMenuButtonController {
- MainMenu mainMenu
- JFrame settingsFrame
- JFrame howToPlayFrame
- JFrame gameModeFrame
- JFrame gameFrame
+ <<Create>> MainMenuButtonController(MainMenu,JFrame,JFrame,JFrame,JFrame)
- void configureFrame(JFrame)
+ void actionPerformed(ActionEvent)
+ void startNewGame()
+ void showHowToPlay()
- void exitGame()
- void openSettings()
- void adjustFrameDisplay(JFrame)
}
class fr.monkhanny.dorfromantik.controller.ButtonHoverListener {
- ButtonHoverAnimator animator
+ <<Create>> ButtonHoverListener(ButtonHoverAnimator)
+ void mouseEntered(MouseEvent)
+ void mouseExited(MouseEvent)
}
class fr.monkhanny.dorfromantik.controller.MainMenuMouseController {
- ButtonPanel buttonPanel
+ <<Create>> MainMenuMouseController(ButtonPanel)
- void initMouseListeners()
- void addButtonHoverListener(JButton)
}
class fr.monkhanny.dorfromantik.controller.TutorialController {
- TutorialPanel tutorialPanel
- MainMenu mainMenu
- JFrame tutorialFrame
+ <<Create>> TutorialController(MainMenu,JFrame)
+ JPanel getTutorialPanel()
}
class fr.monkhanny.dorfromantik.controller.GameModeController {
- GameModeSelectionPanel gameModeSelectionPanel
- JFrame gameFrame
- MainMenu mainMenu
- JFrame gameModeFrame
- Database database
- {static} Board board
+ <<Create>> GameModeController(JFrame,MainMenu,JFrame)
+ void setGameModeSelectionPanel(GameModeSelectionPanel)
+ void actionPerformed(ActionEvent)
- long getSeedFromDatabaseByName(String)
- void addCustomSeedToDatabase(long)
- boolean isDynamicSeries(String)
- void startGame(long)
+ {static} Board getGameModeBoard()
}
class fr.monkhanny.dorfromantik.controller.MainMenuResizeHandler {
- MainMenu mainMenu
+ <<Create>> MainMenuResizeHandler(MainMenu)
+ void componentResized(ComponentEvent)
}
class fr.monkhanny.dorfromantik.controller.ButtonHoverAnimationListener {
- int step
- float scaleIncrement
- boolean entering
- JButton button
- Color originalColor
- Font originalFont
- float currentScale
+ <<Create>> ButtonHoverAnimationListener(boolean,JButton,Color,Font)
+ void actionPerformed(ActionEvent)
}
class fr.monkhanny.dorfromantik.controller.MainMenuResizeController {
- MainMenu mainMenu
- MainMenuResizeHandler resizeHandler
+ <<Create>> MainMenuResizeController(MainMenu)
- void addComponentListener()
}
java.awt.event.ActionListener <|.. fr.monkhanny.dorfromantik.controller.MainMenuButtonController
java.awt.event.MouseAdapter <|-- fr.monkhanny.dorfromantik.controller.ButtonHoverListener
java.awt.event.ActionListener <|.. fr.monkhanny.dorfromantik.controller.GameModeController
java.awt.event.ComponentAdapter <|-- fr.monkhanny.dorfromantik.controller.MainMenuResizeHandler
java.awt.event.ActionListener <|.. fr.monkhanny.dorfromantik.controller.ButtonHoverAnimationListener
@enduml

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

View File

@@ -0,0 +1,58 @@
@startuml
enum fr.monkhanny.dorfromantik.enums.TileOrientation {
+ NORTH
+ NORTH_EAST
+ SOUTH_EAST
+ SOUTH
+ SOUTH_WEST
+ NORTH_WEST
+ TileOrientation oppositeOrientation()
}
enum fr.monkhanny.dorfromantik.enums.Biome {
+ SEA
+ FIELD
+ PRE
+ FOREST
+ MOUNTAIN
+ Color[] getBiomeColors()
}
enum fr.monkhanny.dorfromantik.enums.Fonts {
+ TITLE
+ BUTTON
+ SCORE
+ String getFontPath()
+ Font getFont(float)
}
enum fr.monkhanny.dorfromantik.enums.Sounds {
+ SOUNDS1
+ SOUNDS2
+ String getSoundsPath()
}
enum fr.monkhanny.dorfromantik.enums.Images {
+ SETTINGS_ICON
+ EXIT_ICON
+ TUTORIAL_GIF1
+ TUTORIAL_GIF2
+ TUTORIAL_GIF3
+ TUTORIAL_GIF4
+ TUTORIAL_GIF5
+ TUTORIAL_GIF6
+ String getImagePath()
}
enum fr.monkhanny.dorfromantik.enums.Musics {
+ MAIN_MENU_MUSIC
+ String getSoundsPath()
}
@enduml

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 KiB

View File

@@ -0,0 +1,206 @@
@startuml
class fr.monkhanny.dorfromantik.gui.TutorialPanel {
- List<Step> steps
- int currentStepIndex
- Title title
- JLabel stepText
- JLabel stepImage
- JButton nextButton
- JButton prevButton
- MainMenu mainMenu
- JFrame tutorialFrame
+ <<Create>> TutorialPanel(List<Step>,MainMenu,JFrame)
# void paintComponent(Graphics)
- void updateStepDisplay()
- void styleButton(JButton)
- void showPreviousStep()
- void showNextStep()
- JButton createReturnButtonWithIcon()
- String addLineBreaks(String,int)
}
class fr.monkhanny.dorfromantik.gui.BarChartPanel {
- List<Integer> groupAverages
- int highlightedGroup
+ <<Create>> BarChartPanel(List<Integer>,int,JPanel)
# void paintComponent(Graphics)
}
class fr.monkhanny.dorfromantik.gui.SettingsPanel {
- MainMenu mainMenu
- JFrame settingsFrame
- JButton returnButton
+ <<Create>> SettingsPanel(MainMenu,JFrame)
- void initializeSettingsFrame()
- void setupBackground()
- void setupTopPanel()
+ void setReturnButtonVisible(boolean)
# void paintComponent(Graphics)
- void setupMainPanel()
- JPanel createSoundPanel(String,JSlider,ChangeListener,MuteCheckBoxListener)
- JPanel createAutoFocusPanel()
- JPanel createSliderPanel(JSlider)
- GridBagConstraints createGridBagConstraints(int,int,int)
- JButton createReturnButtonWithIcon()
}
class fr.monkhanny.dorfromantik.gui.LeaderboardWorldWide {
+ <<Create>> LeaderboardWorldWide()
+ void refresh()
- JPanel createPlayerPanel(String,int,int)
- ImageIcon resizeIcon(String,int,int)
- JPanel createTopPlayerPanel(String,int,String,boolean)
}
class fr.monkhanny.dorfromantik.gui.ButtonHoverAnimator {
- JButton button
- Color originalColor
- {static} Font originalFont
- Timer animationTimer
+ <<Create>> ButtonHoverAnimator(JButton)
+ void startAnimation(boolean)
+ {static} void updateOriginalFont(float)
}
class fr.monkhanny.dorfromantik.gui.MainMenu {
- Title titleLabel
- ButtonPanel buttonPanel
- JPanel leaderboardContainer
- Leaderboard currentLeaderboard
+ <<Create>> MainMenu()
+ Title getTitleLabel()
+ ButtonPanel getButtonPanel()
}
class fr.monkhanny.dorfromantik.gui.GameOver {
- JFrame gameFrame
+ <<Create>> GameOver(JFrame,int,Database,MainMenu)
- boolean scoreInGroup(List<Integer>,int,int,int)
- String getFunnyQuote(int)
}
class fr.monkhanny.dorfromantik.gui.LeaderboardByTier {
+ <<Create>> LeaderboardByTier()
+ void refresh()
}
class fr.monkhanny.dorfromantik.gui.Reward {
- String name
- String description
- boolean isUnlocked
- ImageIcon icon
+ <<Create>> Reward(String,String,boolean,ImageIcon)
+ String getName()
+ String getDescription()
+ boolean isUnlocked()
+ ImageIcon getIcon()
}
class fr.monkhanny.dorfromantik.gui.LeaderboardBarChartPanel {
- int totalPlayers
- int rank
+ <<Create>> LeaderboardBarChartPanel(int,int)
# void paintComponent(Graphics)
}
class fr.monkhanny.dorfromantik.gui.Step {
- String title
- String text
- String imagePath
+ <<Create>> Step(String,String,String)
+ String getText()
+ String getImagePath()
+ String getTitle()
}
class fr.monkhanny.dorfromantik.gui.ButtonPanel {
- JButton newGameButton
- JButton howToPlayButton
- JButton settingsButton
- JButton exitButton
+ <<Create>> ButtonPanel(float)
+ JButton getNewGameButton()
+ JButton getHowToPlayButton()
+ JButton getSettingsButton()
+ JButton getExitButton()
+ List<JButton> getButtons()
+ void updateButtonFonts(int)
}
class fr.monkhanny.dorfromantik.gui.GameControlsMenu {
- boolean isVisible
- {static} String ICON_PATH
+ <<Create>> GameControlsMenu()
- JPanel createPanel(String,String)
- JPanel createPanelWithMultipleIcons(String,String)
- ImageIcon loadIcon(String)
+ void toggleVisibility()
+ void setControlsMenuVisible(boolean)
}
abstract class fr.monkhanny.dorfromantik.gui.Leaderboard {
+ <<Create>> Leaderboard()
+ {abstract}void refresh()
}
class fr.monkhanny.dorfromantik.gui.GameModeSelectionPanel {
- JLabel titleLabel
- JTextField seedField
- JButton startButton
- List<JButton> seriesButtons
- Database database
- JPanel modePanel
- JButton prevButton
- JButton nextButton
- int currentPage
- int itemsPerPage
- JLabel pageLabel
- JSpinner startDateSpinner
- JSpinner endDateSpinner
- ActionListener buttonListener
- JCheckBox developerSeriesCheckBox
+ <<Create>> GameModeSelectionPanel(ActionListener,JFrame,MainMenu)
+ void loadSeriesForCurrentPage()
- void updatePageLabelAndButtons(int,int)
- JPanel createDateFilterPanel()
- void stylizeDateSpinner(JSpinner)
- JPanel createPaginationPanel()
- JPanel createTopPanel(JFrame,MainMenu)
- JButton createReturnButtonWithIcon(JFrame,MainMenu)
- JPanel createMainPanel()
- GridBagConstraints createGridBagConstraints(int,int,int)
- JButton createGameModeButton(String,ActionListener)
+ int getCurrentPage()
+ void setCurrentPage(int)
- JPanel createSeedPanel(ActionListener)
+ String getStringSeed()
+ long getLongSeed()
}
fr.monkhanny.dorfromantik.gui.JPanel <|-- fr.monkhanny.dorfromantik.gui.TutorialPanel
fr.monkhanny.dorfromantik.gui.JPanel <|-- fr.monkhanny.dorfromantik.gui.BarChartPanel
fr.monkhanny.dorfromantik.gui.JPanel <|-- fr.monkhanny.dorfromantik.gui.SettingsPanel
fr.monkhanny.dorfromantik.gui.Leaderboard <|-- fr.monkhanny.dorfromantik.gui.LeaderboardWorldWide
fr.monkhanny.dorfromantik.gui.JFrame <|-- fr.monkhanny.dorfromantik.gui.MainMenu
fr.monkhanny.dorfromantik.gui.JPanel <|-- fr.monkhanny.dorfromantik.gui.GameOver
fr.monkhanny.dorfromantik.gui.Leaderboard <|-- fr.monkhanny.dorfromantik.gui.LeaderboardByTier
fr.monkhanny.dorfromantik.gui.JPanel <|-- fr.monkhanny.dorfromantik.gui.LeaderboardBarChartPanel
fr.monkhanny.dorfromantik.gui.JPanel <|-- fr.monkhanny.dorfromantik.gui.ButtonPanel
fr.monkhanny.dorfromantik.gui.JPanel <|-- fr.monkhanny.dorfromantik.gui.GameControlsMenu
fr.monkhanny.dorfromantik.gui.JPanel <|-- fr.monkhanny.dorfromantik.gui.Leaderboard
fr.monkhanny.dorfromantik.gui.JPanel <|-- fr.monkhanny.dorfromantik.gui.GameModeSelectionPanel
@enduml

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

View File

@@ -0,0 +1,193 @@
@startuml
class fr.monkhanny.dorfromantik.game.CustomKeyAdapter {
- Board board
+ <<Create>> CustomKeyAdapter(Board)
+ void keyPressed(KeyEvent)
}
class fr.monkhanny.dorfromantik.game.ScoreManager {
- List<Pocket> pockets
- int currentScore
+ <<Create>> ScoreManager()
+ void addTile(Tile)
- Pocket findPocketForTile(Tile,Biome)
- void recalculateScore()
+ int getCurrentScore()
}
class fr.monkhanny.dorfromantik.game.EscapeMenu {
- JButton resumeButton
- JButton mainMenuButton
- JButton settingsButton
+ <<Create>> EscapeMenu(JFrame,Game)
- JButton createButton(String)
+ void setResumeButtonListener(ActionListener)
+ void setQuitButtonListener(ActionListener)
+ void setSettingsButtonListener(ActionListener)
+ void setMenuVisible(boolean)
}
class fr.monkhanny.dorfromantik.game.Cell {
- Board board
+ int x
+ int y
+ int radius
+ <<Create>> Cell(Board,int,int,int)
+ Board getBoard()
+ int getXCoord()
+ int getYCoord()
+ int getRadius()
+ {static} double to360Degrees(double)
+ void setPosition(int,int)
# void paintComponent(Graphics)
}
class fr.monkhanny.dorfromantik.game.Game {
- Random random
+ <<Create>> Game(long)
+ <<Create>> Game()
+ int getRandomInt(int)
}
class fr.monkhanny.dorfromantik.game.TilePanningTransition {
- Board board
- int targetOffsetX
- int steps
+ <<Create>> TilePanningTransition(Board,int,int,int)
+ void start()
}
class fr.monkhanny.dorfromantik.game.RemainingTilesIndicator {
- int remainingTiles
- int maxTiles
+ <<Create>> RemainingTilesIndicator(int)
+ void setRemainingTiles(int)
+ void draw(Graphics,int,int)
+ int getTotalHeight()
- Polygon createHexagon(int,int,int,int)
}
class fr.monkhanny.dorfromantik.game.CustomMouseMotionAdapter {
- Board board
+ <<Create>> CustomMouseMotionAdapter(Board)
+ void mouseMoved(MouseEvent)
}
class fr.monkhanny.dorfromantik.game.Tile {
- HashMap<TileOrientation,Biome> sideBiomes
+ <<Create>> Tile(Board,int,int,int,Biome)
+ <<Create>> Tile(Board,int,int,int)
+ <<Create>> Tile(Board,Point,int,Biome)
+ <<Create>> Tile(Board,Point,int)
+ void setBiomes(Biome)
+ void assignRandomBiomes()
+ Biome getBiome(TileOrientation)
+ Biome getDominantBiome()
+ Biome[] getBiomes()
+ void rotate(boolean)
+ boolean containsBiome(Biome)
+ boolean isAdjacentTo(Tile)
+ Tile getNeighbor(TileOrientation)
+ TileOrientation determineSide(int,int)
# void drawTileAt(Graphics,int,int,float)
# void paintTile(Graphics,float)
}
class fr.monkhanny.dorfromantik.game.ScoreDisplay {
- int score
- Font font
- int x
+ <<Create>> ScoreDisplay(Font,int,int)
+ void setScore(int)
+ void setPosition(int,int)
+ void draw(Graphics)
}
class fr.monkhanny.dorfromantik.game.Pocket {
- Biome biome
- Set<Tile> tiles
+ <<Create>> Pocket(Biome)
+ void addTile(Tile)
+ int getSize()
+ Biome getBiome()
+ Set<Tile> getTiles()
}
class fr.monkhanny.dorfromantik.game.Board {
- List<Tile> tiles
- List<Point> availablePositions
- Random random
- Game game
- JFrame gameFrame
- Tile centralTile
- double zoomFactor
- int offsetX
- int offsetY
- Tile nextTile
- Point mousePosition
- int currentScore
- Database database
- RemainingTilesIndicator remainingTilesIndicator
- GameControlsMenu controlsMenu
- ScoreManager scoreManager
- ScoreDisplay scoreDisplay
+ <<Create>> Board(JFrame,long)
+ GameControlsMenu getControlsMenu()
+ void handleMouseMove(java.awt.event.MouseEvent)
- void initializeNextTile()
+ Tile getNextTile()
+ void handleSpaceKeyPress()
+ void handleMouseClick(java.awt.event.MouseEvent)
- void initializeCentralTile()
+ void addTile(Tile)
+ Tile getTileAt(int,int)
+ Random getRandom()
+ Game getGame()
- void calculateAvailablePositions(Tile)
- boolean isTileAtPosition(Point)
+ void placeTileAtPosition(Point)
+ void autoReFocus(Tile)
+ double getZoomFactor()
+ void setZoomFactor(double)
+ int getOffsetX()
+ void setOffsetX(int)
+ int getOffsetY()
+ void setOffsetY(int)
+ void zoomIn()
+ void zoomOut()
+ void moveBoard(int,int)
+ void paintComponent(Graphics)
}
class fr.monkhanny.dorfromantik.game.PauseGame {
- EscapeMenu escapeMenu
- GameResumeButtonListener resumeButtonListener
- GameQuitButtonListener quitButtonListener
- GameSettingsButtonListener settingsButtonListener
+ <<Create>> PauseGame(JFrame,Game)
+ void keyPressed(KeyEvent)
}
java.awt.event.KeyAdapter <|-- fr.monkhanny.dorfromantik.game.CustomKeyAdapter
fr.monkhanny.dorfromantik.game.JFrame <|-- fr.monkhanny.dorfromantik.game.EscapeMenu
fr.monkhanny.dorfromantik.game.JComponent <|-- fr.monkhanny.dorfromantik.game.Cell
java.awt.event.MouseMotionAdapter <|-- fr.monkhanny.dorfromantik.game.CustomMouseMotionAdapter
fr.monkhanny.dorfromantik.game.Cell <|-- fr.monkhanny.dorfromantik.game.Tile
fr.monkhanny.dorfromantik.game.JPanel <|-- fr.monkhanny.dorfromantik.game.Board
java.awt.event.KeyAdapter <|-- fr.monkhanny.dorfromantik.game.PauseGame
@enduml

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 KiB

View File

@@ -0,0 +1,100 @@
@startuml
class fr.monkhanny.dorfromantik.utils.PlayerScore {
- String serie
- int score
+ <<Create>> PlayerScore(String,int)
+ String getSerieName()
+ int getScore()
}
class fr.monkhanny.dorfromantik.utils.Hexagon {
- {static} int ANGLE_BETWEEN_VERTICES
+ <<Create>> Hexagon(int,int,int,double)
+ <<Create>> Hexagon(Point,int,double)
+ <<Create>> Hexagon(int,int,int)
+ <<Create>> Hexagon(Point,int)
- double calculateAngle(int,double)
}
class fr.monkhanny.dorfromantik.utils.ImageLoader {
+ {static} Image APPLICATION_ICON
+ {static} Image loadImage(String)
}
class fr.monkhanny.dorfromantik.utils.FontManager {
- {static} Font titleFont
- {static} Font buttonFont
+ {static} void loadCustomFont(Fonts)
+ {static} Font getTitleFont(float)
+ {static} Font getButtonFont(float)
+ {static} Font getAdjustedTitleFont(Component,float,float)
+ {static} Font getAdjustedButtonFont(Component,float,float)
+ {static} void setTitleFont(Font)
+ {static} void setButtonFont(Font)
}
class fr.monkhanny.dorfromantik.utils.HexagonDrawer {
- Tile tile
+ <<Create>> HexagonDrawer(Tile)
+ void drawHexagon(Graphics2D,double,Point)
- void drawHexagonRow(Graphics2D,double,double,double,int)
}
class fr.monkhanny.dorfromantik.utils.SoundLoader {
+ {static} Clip loadMusic(String)
}
class fr.monkhanny.dorfromantik.utils.MusicPlayer {
- {static} Clip musicClip
- {static} Clip soundClip
- {static} boolean isPlayingMusic
- {static} boolean isPlayingSound
+ {static} void loadMusic(Musics)
+ {static} void loadSound(Sounds)
+ {static} void playMusic()
+ {static} void playSound()
+ {static} void pauseMusic()
+ {static} void stopMusic()
+ {static} void setVolume(Clip,int)
+ {static} boolean isPlayingMusic()
+ {static} boolean isPlayingSound()
+ {static} Clip getMusicClip()
+ {static} Clip getSoundClip()
}
class fr.monkhanny.dorfromantik.utils.FontLoader {
+ {static} Font loadFont(Fonts)
}
class fr.monkhanny.dorfromantik.utils.Database {
- {static} String URL
- {static} String LOGIN
- {static} String PASSWORD
- Connection database
+ <<Create>> Database()
+ Connection getDatabase()
+ long getSeedBySeriesId(long)
+ List<PlayerScore> getAllScores(long)
+ List<String> getAllSeries()
+ List<String> getSeriesByDateRange(Date,Date)
+ int countSeriesByDateRange(Date,Date,boolean)
+ List<String> getSeriesByDateRangePaginated(Date,Date,int,int,boolean)
+ long getSeedByName(String)
+ void addScore(long,int)
+ void addCustomSeed(long)
+ List<PlayerScore> getTopPlayers()
+ List<Integer> getScoresBySeriesId(long)
+ void close()
}
java.awt.Polygon <|-- fr.monkhanny.dorfromantik.utils.Hexagon
@enduml