Ajouts des bons diagrammes de classe

This commit is contained in:
2024-12-11 09:53:12 +01:00
parent be5b9bf20e
commit 58e0e56a9e
21 changed files with 1936 additions and 655 deletions

View File

@@ -1,206 +1,141 @@
@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)
@startuml gui
!theme plain
top to bottom direction
skinparam linetype ortho
class BarChartPanel {
+ BarChartPanel(List<Integer>, int, JPanel):
# paintComponent(Graphics): void
}
class ButtonHoverAnimator {
+ ButtonHoverAnimator(JButton):
+ startAnimation(boolean): void
+ updateOriginalFont(float): void
}
class ButtonPanel {
+ ButtonPanel(float):
- howToPlayButton: JButton
- exitButton: JButton
- newGameButton: JButton
- settingsButton: JButton
+ updateButtonFonts(int): void
howToPlayButton: JButton
exitButton: JButton
buttons: List<JButton>
settingsButton: JButton
newGameButton: JButton
}
class GameControlsMenu {
+ GameControlsMenu():
- createPanel(String, String): JPanel
- loadIcon(String): ImageIcon
- createPanelWithMultipleIcons(String, String[]): JPanel
+ toggleVisibility(): void
controlsMenuVisible: boolean
}
class GameModeSelectionPanel {
+ GameModeSelectionPanel(ActionListener, JFrame, MainMenu):
- currentPage: int
- createTopPanel(JFrame, MainMenu): JPanel
- createDateFilterPanel(): JPanel
- createSeedPanel(ActionListener): JPanel
- stylizeDateSpinner(JSpinner): void
- createPaginationPanel(): JPanel
- createReturnButtonWithIcon(JFrame, MainMenu): JButton
- createGameModeButton(String, ActionListener): JButton
+ loadSeriesForCurrentPage(): void
- createMainPanel(): JPanel
- updatePageLabelAndButtons(int, int): void
- createGridBagConstraints(int, int, int): GridBagConstraints
longSeed: long
currentPage: int
stringSeed: String
}
class GameOver {
+ GameOver(JFrame, int, Database, MainMenu):
- getFunnyQuote(int): String
- scoreInGroup(List<Integer>, int, int, int): boolean
}
class Leaderboard {
+ Leaderboard():
+ refresh(): void
}
class LeaderboardBarChartPanel {
+ LeaderboardBarChartPanel(int, int):
# paintComponent(Graphics): void
}
class LeaderboardByTier {
+ LeaderboardByTier():
+ refresh(): void
}
class LeaderboardWorldWide {
+ LeaderboardWorldWide():
- createPlayerPanel(String, int, int): JPanel
- createTopPlayerPanel(String, int, String, boolean): JPanel
- resizeIcon(String, int, int): ImageIcon
+ refresh(): void
}
class MainMenu {
+ MainMenu():
- titleLabel: Title
- buttonPanel: ButtonPanel
titleLabel: Title
buttonPanel: ButtonPanel
}
class Reward {
+ Reward(String, String, boolean, ImageIcon):
- description: String
- isUnlocked: boolean
- icon: ImageIcon
- name: String
name: String
icon: ImageIcon
description: String
isUnlocked: boolean
}
class SettingsPanel {
+ SettingsPanel(MainMenu, JFrame):
- initializeSettingsFrame(): void
- createReturnButtonWithIcon(): JButton
- setupBackground(): void
- createSliderPanel(JSlider): JPanel
- createSoundPanel(String, JSlider, ChangeListener, MuteCheckBoxListener): JPanel
- setupMainPanel(): void
- setupTopPanel(): void
- createGridBagConstraints(int, int, int): GridBagConstraints
# paintComponent(Graphics): void
- createAutoFocusPanel(): JPanel
returnButtonVisible: boolean
}
class Step {
+ Step(String, String, String):
- title: String
- imagePath: String
- text: String
text: String
imagePath: String
title: String
}
class TutorialPanel {
+ TutorialPanel(List<Step>, MainMenu, JFrame):
- updateStepDisplay(): void
- styleButton(JButton): void
- createReturnButtonWithIcon(): JButton
- showPreviousStep(): void
- addLineBreaks(String, int): String
# paintComponent(Graphics): void
- showNextStep(): void
}
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
GameOver -[#595959,dashed]-> BarChartPanel : "«create»"
LeaderboardByTier -[#000082,plain]-^ Leaderboard
LeaderboardByTier -[#595959,dashed]-> LeaderboardBarChartPanel : "«create»"
LeaderboardWorldWide -[#000082,plain]-^ Leaderboard
MainMenu "1" *-[#595959,plain]-> "buttonPanel\n1" ButtonPanel
MainMenu -[#595959,dashed]-> ButtonPanel : "«create»"
MainMenu "1" *-[#595959,plain]-> "currentLeaderboard\n1" Leaderboard
MainMenu -[#595959,dashed]-> LeaderboardWorldWide : "«create»"
SettingsPanel "1" *-[#595959,plain]-> "mainMenu\n1" MainMenu
TutorialPanel "1" *-[#595959,plain]-> "mainMenu\n1" MainMenu
TutorialPanel "1" *-[#595959,plain]-> "steps\n*" Step
@enduml