Ajouts des bons diagrammes de classe
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 57 KiB |
@@ -1,16 +1,18 @@
|
||||
@startuml
|
||||
class fr.monkhanny.dorfromantik.components.Title {
|
||||
+ <<Create>> Title(String,float)
|
||||
+ <<Create>> Title(String,float,Color)
|
||||
+ void updateTitleFont(float)
|
||||
@startuml components
|
||||
|
||||
!theme plain
|
||||
top to bottom direction
|
||||
skinparam linetype ortho
|
||||
|
||||
class Button {
|
||||
+ Button():
|
||||
+ createCustomIconButton(String): JButton
|
||||
+ createCustomTextButton(String, float): JButton
|
||||
}
|
||||
class Title {
|
||||
+ Title(String, float):
|
||||
+ Title(String, float, Color):
|
||||
+ updateTitleFont(float): void
|
||||
}
|
||||
|
||||
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
|
28
Documentation/DiagrammeUML/Components/Diagram_Components.svg
Normal file
@@ -0,0 +1,28 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="516pt" height="100pt" viewBox="0.00 0.00 515.94 100.20">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 96.2)">
|
||||
<title>package</title>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-96.2 511.94,-96.2 511.94,4 -4,4"/>
|
||||
<!-- Button -->
|
||||
<g id="node1" class="node">
|
||||
<title>Button</title>
|
||||
<polygon fill="none" stroke="black" points="0,-0.5 0,-91.7 302.3,-91.7 302.3,-0.5 0,-0.5"/>
|
||||
<text text-anchor="middle" x="151.15" y="-75.1" font-family="Times,serif" font-size="14.00">Button</text>
|
||||
<polyline fill="none" stroke="black" points="0,-66.9 302.3,-66.9"/>
|
||||
<text text-anchor="start" x="8" y="-50.3" font-family="Times,serif" font-size="14.00">+ Button() : </text>
|
||||
<polyline fill="none" stroke="black" points="0,-42.1 302.3,-42.1"/>
|
||||
<text text-anchor="start" x="8" y="-25.5" font-family="Times,serif" font-size="14.00">+ createCustomIconButton(String) : JButton</text>
|
||||
<text text-anchor="start" x="8" y="-8.7" font-family="Times,serif" font-size="14.00"> + createCustomTextButton(String, float) : JButton</text>
|
||||
</g>
|
||||
<!-- Title -->
|
||||
<g id="node2" class="node">
|
||||
<title>Title</title>
|
||||
<polygon fill="none" stroke="black" points="320.36,-0.5 320.36,-91.7 507.94,-91.7 507.94,-0.5 320.36,-0.5"/>
|
||||
<text text-anchor="middle" x="414.15" y="-75.1" font-family="Times,serif" font-size="14.00">Title</text>
|
||||
<polyline fill="none" stroke="black" points="320.36,-66.9 507.94,-66.9"/>
|
||||
<text text-anchor="start" x="328.36" y="-50.3" font-family="Times,serif" font-size="14.00">+ Title(String, float) : </text>
|
||||
<text text-anchor="start" x="328.36" y="-33.5" font-family="Times,serif" font-size="14.00"> + Title(String, float, Color) : </text>
|
||||
<polyline fill="none" stroke="black" points="320.36,-25.3 507.94,-25.3"/>
|
||||
<text text-anchor="start" x="328.36" y="-8.7" font-family="Times,serif" font-size="14.00">+ updateTitleFont(float) : void</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 214 KiB After Width: | Height: | Size: 526 KiB |
@@ -1,97 +1,59 @@
|
||||
@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)
|
||||
@startuml controller
|
||||
|
||||
!theme plain
|
||||
top to bottom direction
|
||||
skinparam linetype ortho
|
||||
|
||||
class ButtonHoverAnimationListener {
|
||||
+ ButtonHoverAnimationListener(boolean, JButton, Color, Font):
|
||||
+ actionPerformed(ActionEvent): void
|
||||
}
|
||||
class ButtonHoverListener {
|
||||
+ ButtonHoverListener(ButtonHoverAnimator):
|
||||
+ mouseEntered(MouseEvent): void
|
||||
+ mouseExited(MouseEvent): void
|
||||
}
|
||||
class GameModeController {
|
||||
+ GameModeController(JFrame, MainMenu, JFrame):
|
||||
- gameModeSelectionPanel: GameModeSelectionPanel
|
||||
- isDynamicSeries(String): boolean
|
||||
- addCustomSeedToDatabase(long): void
|
||||
- getSeedFromDatabaseByName(String): long
|
||||
+ actionPerformed(ActionEvent): void
|
||||
- startGame(long): void
|
||||
gameModeBoard: Board
|
||||
gameModeSelectionPanel: GameModeSelectionPanel
|
||||
}
|
||||
class MainMenuButtonController {
|
||||
+ MainMenuButtonController(MainMenu, JFrame, JFrame, JFrame, JFrame):
|
||||
- adjustFrameDisplay(JFrame): void
|
||||
+ actionPerformed(ActionEvent): void
|
||||
- openSettings(): void
|
||||
+ startNewGame(): void
|
||||
+ showHowToPlay(): void
|
||||
- configureFrame(JFrame): void
|
||||
- exitGame(): void
|
||||
}
|
||||
class MainMenuMouseController {
|
||||
+ MainMenuMouseController(ButtonPanel):
|
||||
- initMouseListeners(): void
|
||||
- addButtonHoverListener(JButton): void
|
||||
}
|
||||
class MainMenuResizeController {
|
||||
+ MainMenuResizeController(MainMenu):
|
||||
- addComponentListener(): void
|
||||
}
|
||||
class MainMenuResizeHandler {
|
||||
+ MainMenuResizeHandler(MainMenu):
|
||||
+ componentResized(ComponentEvent): void
|
||||
}
|
||||
class TutorialController {
|
||||
+ TutorialController(MainMenu, JFrame):
|
||||
- tutorialPanel: TutorialPanel
|
||||
tutorialPanel: JPanel
|
||||
}
|
||||
|
||||
|
||||
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
|
||||
MainMenuMouseController -[#595959,dashed]-> ButtonHoverListener : "«create»"
|
||||
MainMenuResizeController "1" *-[#595959,plain]-> "resizeHandler\n1" MainMenuResizeHandler
|
||||
MainMenuResizeController -[#595959,dashed]-> MainMenuResizeHandler : "«create»"
|
||||
@enduml
|
129
Documentation/DiagrammeUML/Controller/Diagram_controller.svg
Normal file
@@ -0,0 +1,129 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="2086pt" height="362pt" viewBox="0.00 0.00 2085.80 362.00">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 358)">
|
||||
<title>package</title>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-358 2081.8,-358 2081.8,4 -4,4"/>
|
||||
<!-- ButtonHoverAnimationListener -->
|
||||
<g id="node1" class="node">
|
||||
<title>ButtonHoverAnimationListener</title>
|
||||
<polygon fill="none" stroke="black" points="0,-212.3 0,-286.7 392.91,-286.7 392.91,-212.3 0,-212.3"/>
|
||||
<text text-anchor="middle" x="196.46" y="-270.1" font-family="Times,serif" font-size="14.00">ButtonHoverAnimationListener</text>
|
||||
<polyline fill="none" stroke="black" points="0,-261.9 392.91,-261.9"/>
|
||||
<text text-anchor="start" x="8" y="-245.3" font-family="Times,serif" font-size="14.00">+ ButtonHoverAnimationListener(boolean, JButton, Color, Font) : </text>
|
||||
<polyline fill="none" stroke="black" points="0,-237.1 392.91,-237.1"/>
|
||||
<text text-anchor="start" x="8" y="-220.5" font-family="Times,serif" font-size="14.00">+ actionPerformed(ActionEvent) : void</text>
|
||||
</g>
|
||||
<!-- ButtonHoverListener -->
|
||||
<g id="node2" class="node">
|
||||
<title>ButtonHoverListener</title>
|
||||
<polygon fill="none" stroke="black" points="401.79,-0.5 401.79,-91.7 695.13,-91.7 695.13,-0.5 401.79,-0.5"/>
|
||||
<text text-anchor="middle" x="548.46" y="-75.1" font-family="Times,serif" font-size="14.00">ButtonHoverListener</text>
|
||||
<polyline fill="none" stroke="black" points="401.79,-66.9 695.13,-66.9"/>
|
||||
<text text-anchor="start" x="409.79" y="-50.3" font-family="Times,serif" font-size="14.00">+ ButtonHoverListener(ButtonHoverAnimator) : </text>
|
||||
<polyline fill="none" stroke="black" points="401.79,-42.1 695.13,-42.1"/>
|
||||
<text text-anchor="start" x="409.79" y="-25.5" font-family="Times,serif" font-size="14.00">+ mouseEntered(MouseEvent) : void</text>
|
||||
<text text-anchor="start" x="409.79" y="-8.7" font-family="Times,serif" font-size="14.00"> + mouseExited(MouseEvent) : void</text>
|
||||
</g>
|
||||
<!-- GameModeController -->
|
||||
<g id="node3" class="node">
|
||||
<title>GameModeController</title>
|
||||
<polygon fill="none" stroke="black" points="704.2,-145.5 704.2,-353.5 1034.72,-353.5 1034.72,-145.5 704.2,-145.5"/>
|
||||
<text text-anchor="middle" x="869.46" y="-336.9" font-family="Times,serif" font-size="14.00">GameModeController</text>
|
||||
<polyline fill="none" stroke="black" points="704.2,-328.7 1034.72,-328.7"/>
|
||||
<text text-anchor="start" x="712.2" y="-312.1" font-family="Times,serif" font-size="14.00">+ GameModeController(JFrame, MainMenu, JFrame) : </text>
|
||||
<polyline fill="none" stroke="black" points="704.2,-303.9 1034.72,-303.9"/>
|
||||
<text text-anchor="start" x="712.2" y="-287.3" font-family="Times,serif" font-size="14.00">- gameModeSelectionPanel : GameModeSelectionPanel</text>
|
||||
<polyline fill="none" stroke="black" points="704.2,-279.1 1034.72,-279.1"/>
|
||||
<text text-anchor="start" x="712.2" y="-262.5" font-family="Times,serif" font-size="14.00">- isDynamicSeries(String) : boolean</text>
|
||||
<text text-anchor="start" x="712.2" y="-245.7" font-family="Times,serif" font-size="14.00"> - addCustomSeedToDatabase(long) : void</text>
|
||||
<text text-anchor="start" x="712.2" y="-228.9" font-family="Times,serif" font-size="14.00"> - getSeedFromDatabaseByName(String) : long</text>
|
||||
<text text-anchor="start" x="712.2" y="-212.1" font-family="Times,serif" font-size="14.00"> + actionPerformed(ActionEvent) : void</text>
|
||||
<text text-anchor="start" x="712.2" y="-195.3" font-family="Times,serif" font-size="14.00"> - startGame(long) : void</text>
|
||||
<polyline fill="none" stroke="black" points="704.2,-187.1 1034.72,-187.1"/>
|
||||
<text text-anchor="start" x="712.2" y="-170.5" font-family="Times,serif" font-size="14.00">gameModeBoard : Board</text>
|
||||
<text text-anchor="start" x="712.2" y="-153.7" font-family="Times,serif" font-size="14.00"> gameModeSelectionPanel : GameModeSelectionPanel</text>
|
||||
</g>
|
||||
<!-- MainMenuButtonController -->
|
||||
<g id="node4" class="node">
|
||||
<title>MainMenuButtonController</title>
|
||||
<polygon fill="none" stroke="black" points="1053.18,-161.9 1053.18,-337.1 1513.73,-337.1 1513.73,-161.9 1053.18,-161.9"/>
|
||||
<text text-anchor="middle" x="1283.46" y="-320.5" font-family="Times,serif" font-size="14.00">MainMenuButtonController</text>
|
||||
<polyline fill="none" stroke="black" points="1053.18,-312.3 1513.73,-312.3"/>
|
||||
<text text-anchor="start" x="1061.18" y="-295.7" font-family="Times,serif" font-size="14.00">+ MainMenuButtonController(MainMenu, JFrame, JFrame, JFrame, JFrame) : </text>
|
||||
<polyline fill="none" stroke="black" points="1053.18,-287.5 1513.73,-287.5"/>
|
||||
<text text-anchor="start" x="1061.18" y="-270.9" font-family="Times,serif" font-size="14.00">- adjustFrameDisplay(JFrame) : void</text>
|
||||
<text text-anchor="start" x="1061.18" y="-254.1" font-family="Times,serif" font-size="14.00"> + actionPerformed(ActionEvent) : void</text>
|
||||
<text text-anchor="start" x="1061.18" y="-237.3" font-family="Times,serif" font-size="14.00"> - openSettings() : void</text>
|
||||
<text text-anchor="start" x="1061.18" y="-220.5" font-family="Times,serif" font-size="14.00"> + startNewGame() : void</text>
|
||||
<text text-anchor="start" x="1061.18" y="-203.7" font-family="Times,serif" font-size="14.00"> + showHowToPlay() : void</text>
|
||||
<text text-anchor="start" x="1061.18" y="-186.9" font-family="Times,serif" font-size="14.00"> - configureFrame(JFrame) : void</text>
|
||||
<text text-anchor="start" x="1061.18" y="-170.1" font-family="Times,serif" font-size="14.00"> - exitGame() : void</text>
|
||||
</g>
|
||||
<!-- MainMenuMouseController -->
|
||||
<g id="node5" class="node">
|
||||
<title>MainMenuMouseController</title>
|
||||
<polygon fill="none" stroke="black" points="411.11,-203.9 411.11,-295.1 685.81,-295.1 685.81,-203.9 411.11,-203.9"/>
|
||||
<text text-anchor="middle" x="548.46" y="-278.5" font-family="Times,serif" font-size="14.00">MainMenuMouseController</text>
|
||||
<polyline fill="none" stroke="black" points="411.11,-270.3 685.81,-270.3"/>
|
||||
<text text-anchor="start" x="419.11" y="-253.7" font-family="Times,serif" font-size="14.00">+ MainMenuMouseController(ButtonPanel) : </text>
|
||||
<polyline fill="none" stroke="black" points="411.11,-245.5 685.81,-245.5"/>
|
||||
<text text-anchor="start" x="419.11" y="-228.9" font-family="Times,serif" font-size="14.00">- initMouseListeners() : void</text>
|
||||
<text text-anchor="start" x="419.11" y="-212.1" font-family="Times,serif" font-size="14.00"> - addButtonHoverListener(JButton) : void</text>
|
||||
</g>
|
||||
<!-- MainMenuMouseController->ButtonHoverListener -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>MainMenuMouseController->ButtonHoverListener</title>
|
||||
<path fill="none" stroke="#595959" stroke-dasharray="5,2" d="M548.46,-203.6C548.46,-203.6 548.46,-103.4 548.46,-103.4"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="548.46,-93.4 552.96,-103.4 548.46,-97.19 548.46,-103.4 548.46,-103.4 548.46,-103.4 548.46,-97.19 543.96,-103.4 548.46,-93.4"/>
|
||||
<text text-anchor="middle" x="572.16" y="-114.4" font-family="Times,serif" font-size="14.00">«create»</text>
|
||||
</g>
|
||||
<!-- MainMenuResizeController -->
|
||||
<g id="node6" class="node">
|
||||
<title>MainMenuResizeController</title>
|
||||
<polygon fill="none" stroke="black" points="1532.01,-212.3 1532.01,-286.7 1798.91,-286.7 1798.91,-212.3 1532.01,-212.3"/>
|
||||
<text text-anchor="middle" x="1665.46" y="-270.1" font-family="Times,serif" font-size="14.00">MainMenuResizeController</text>
|
||||
<polyline fill="none" stroke="black" points="1532.01,-261.9 1798.91,-261.9"/>
|
||||
<text text-anchor="start" x="1540.01" y="-245.3" font-family="Times,serif" font-size="14.00">+ MainMenuResizeController(MainMenu) : </text>
|
||||
<polyline fill="none" stroke="black" points="1532.01,-237.1 1798.91,-237.1"/>
|
||||
<text text-anchor="start" x="1540.01" y="-220.5" font-family="Times,serif" font-size="14.00">- addComponentListener() : void</text>
|
||||
</g>
|
||||
<!-- MainMenuResizeHandler -->
|
||||
<g id="node7" class="node">
|
||||
<title>MainMenuResizeHandler</title>
|
||||
<polygon fill="none" stroke="black" points="1526.95,-8.9 1526.95,-83.3 1803.96,-83.3 1803.96,-8.9 1526.95,-8.9"/>
|
||||
<text text-anchor="middle" x="1665.46" y="-66.7" font-family="Times,serif" font-size="14.00">MainMenuResizeHandler</text>
|
||||
<polyline fill="none" stroke="black" points="1526.95,-58.5 1803.96,-58.5"/>
|
||||
<text text-anchor="start" x="1534.95" y="-41.9" font-family="Times,serif" font-size="14.00">+ MainMenuResizeHandler(MainMenu) : </text>
|
||||
<polyline fill="none" stroke="black" points="1526.95,-33.7 1803.96,-33.7"/>
|
||||
<text text-anchor="start" x="1534.95" y="-17.1" font-family="Times,serif" font-size="14.00">+ componentResized(ComponentEvent) : void</text>
|
||||
</g>
|
||||
<!-- MainMenuResizeController->MainMenuResizeHandler -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>MainMenuResizeController->MainMenuResizeHandler</title>
|
||||
<path fill="none" stroke="#595959" d="M1620.97,-199.14C1620.97,-199.14 1620.97,-94.73 1620.97,-94.73"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1620.97,-199.29 1624.97,-205.29 1620.97,-211.29 1616.97,-205.29 1620.97,-199.29"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1620.97,-84.73 1625.47,-94.73 1620.97,-88.51 1620.97,-94.73 1620.97,-94.73 1620.97,-94.73 1620.97,-88.51 1616.47,-94.73 1620.97,-84.73"/>
|
||||
<text text-anchor="middle" x="1582.11" y="-104.51" font-family="Times,serif" font-size="14.00">resizeHandler</text>
|
||||
<text text-anchor="middle" x="1582.11" y="-87.71" font-family="Times,serif" font-size="14.00">1</text>
|
||||
<text text-anchor="middle" x="1617.47" y="-199.59" font-family="Times,serif" font-size="14.00">1</text>
|
||||
</g>
|
||||
<!-- MainMenuResizeController->MainMenuResizeHandler -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>MainMenuResizeController->MainMenuResizeHandler</title>
|
||||
<path fill="none" stroke="#595959" stroke-dasharray="5,2" d="M1709.94,-212.19C1709.94,-212.19 1709.94,-94.73 1709.94,-94.73"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1709.94,-84.73 1714.44,-94.73 1709.94,-88.51 1709.94,-94.73 1709.94,-94.73 1709.94,-94.73 1709.94,-88.51 1705.44,-94.73 1709.94,-84.73"/>
|
||||
<text text-anchor="middle" x="1705.16" y="-114.4" font-family="Times,serif" font-size="14.00">«create»</text>
|
||||
</g>
|
||||
<!-- TutorialController -->
|
||||
<g id="node8" class="node">
|
||||
<title>TutorialController</title>
|
||||
<polygon fill="none" stroke="black" points="1817.12,-199.9 1817.12,-299.1 2077.8,-299.1 2077.8,-199.9 1817.12,-199.9"/>
|
||||
<text text-anchor="middle" x="1947.46" y="-282.5" font-family="Times,serif" font-size="14.00">TutorialController</text>
|
||||
<polyline fill="none" stroke="black" points="1817.12,-274.3 2077.8,-274.3"/>
|
||||
<text text-anchor="start" x="1825.12" y="-257.7" font-family="Times,serif" font-size="14.00">+ TutorialController(MainMenu, JFrame) : </text>
|
||||
<polyline fill="none" stroke="black" points="1817.12,-249.5 2077.8,-249.5"/>
|
||||
<text text-anchor="start" x="1825.12" y="-232.9" font-family="Times,serif" font-size="14.00">- tutorialPanel : TutorialPanel</text>
|
||||
<polyline fill="none" stroke="black" points="1817.12,-224.7 2077.8,-224.7"/>
|
||||
<text text-anchor="start" x="1825.12" y="-208.1" font-family="Times,serif" font-size="14.00">tutorialPanel : JPanel</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 208 KiB |
@@ -1,58 +1,45 @@
|
||||
@startuml
|
||||
enum fr.monkhanny.dorfromantik.enums.TileOrientation {
|
||||
+ NORTH
|
||||
+ NORTH_EAST
|
||||
+ SOUTH_EAST
|
||||
+ SOUTH
|
||||
+ SOUTH_WEST
|
||||
+ NORTH_WEST
|
||||
+ TileOrientation oppositeOrientation()
|
||||
@startuml enums
|
||||
|
||||
!theme plain
|
||||
top to bottom direction
|
||||
skinparam linetype ortho
|
||||
|
||||
enum Biome << enumeration >> {
|
||||
+ Biome():
|
||||
+ values(): Biome[]
|
||||
+ valueOf(String): Biome
|
||||
biomeColors: Color[]
|
||||
}
|
||||
|
||||
|
||||
enum fr.monkhanny.dorfromantik.enums.Biome {
|
||||
+ SEA
|
||||
+ FIELD
|
||||
+ PRE
|
||||
+ FOREST
|
||||
+ MOUNTAIN
|
||||
+ Color[] getBiomeColors()
|
||||
enum Fonts << enumeration >> {
|
||||
+ Fonts():
|
||||
+ getFont(float): Font
|
||||
+ valueOf(String): Fonts
|
||||
+ values(): Fonts[]
|
||||
fontPath: String
|
||||
}
|
||||
|
||||
|
||||
enum fr.monkhanny.dorfromantik.enums.Fonts {
|
||||
+ TITLE
|
||||
+ BUTTON
|
||||
+ SCORE
|
||||
+ String getFontPath()
|
||||
+ Font getFont(float)
|
||||
enum Images << enumeration >> {
|
||||
+ Images():
|
||||
+ values(): Images[]
|
||||
+ valueOf(String): Images
|
||||
imagePath: String
|
||||
}
|
||||
|
||||
|
||||
enum fr.monkhanny.dorfromantik.enums.Sounds {
|
||||
+ SOUNDS1
|
||||
+ SOUNDS2
|
||||
+ String getSoundsPath()
|
||||
enum Musics << enumeration >> {
|
||||
+ Musics():
|
||||
+ values(): Musics[]
|
||||
+ valueOf(String): Musics
|
||||
soundsPath: String
|
||||
}
|
||||
|
||||
|
||||
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 Sounds << enumeration >> {
|
||||
+ Sounds():
|
||||
+ values(): Sounds[]
|
||||
+ valueOf(String): Sounds
|
||||
soundsPath: String
|
||||
}
|
||||
|
||||
|
||||
enum fr.monkhanny.dorfromantik.enums.Musics {
|
||||
+ MAIN_MENU_MUSIC
|
||||
+ String getSoundsPath()
|
||||
enum TileOrientation << enumeration >> {
|
||||
+ TileOrientation():
|
||||
+ oppositeOrientation(): TileOrientation
|
||||
+ valueOf(String): TileOrientation
|
||||
+ values(): TileOrientation[]
|
||||
}
|
||||
|
||||
|
||||
@enduml
|
90
Documentation/DiagrammeUML/Enums/Diagram_enums.svg
Normal file
@@ -0,0 +1,90 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1185pt" height="159pt" viewBox="0.00 0.00 1185.44 158.60">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 154.6)">
|
||||
<title>package</title>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-154.6 1181.44,-154.6 1181.44,4 -4,4"/>
|
||||
<!-- Biome -->
|
||||
<g id="node1" class="node">
|
||||
<title>Biome</title>
|
||||
<polygon fill="none" stroke="black" points="0,-8.9 0,-141.7 167.76,-141.7 167.76,-8.9 0,-8.9"/>
|
||||
<text text-anchor="middle" x="83.88" y="-125.1" font-family="Times,serif" font-size="14.00"><<enumeration>></text>
|
||||
<text text-anchor="middle" x="83.88" y="-108.3" font-family="Times,serif" font-size="14.00">Biome</text>
|
||||
<polyline fill="none" stroke="black" points="0,-100.1 167.76,-100.1"/>
|
||||
<text text-anchor="start" x="8" y="-83.5" font-family="Times,serif" font-size="14.00">+ Biome() : </text>
|
||||
<polyline fill="none" stroke="black" points="0,-75.3 167.76,-75.3"/>
|
||||
<text text-anchor="start" x="8" y="-58.7" font-family="Times,serif" font-size="14.00">+ values() : Biome[]</text>
|
||||
<text text-anchor="start" x="8" y="-41.9" font-family="Times,serif" font-size="14.00"> + valueOf(String) : Biome</text>
|
||||
<polyline fill="none" stroke="black" points="0,-33.7 167.76,-33.7"/>
|
||||
<text text-anchor="start" x="8" y="-17.1" font-family="Times,serif" font-size="14.00">biomeColors : Color[]</text>
|
||||
</g>
|
||||
<!-- Fonts -->
|
||||
<g id="node2" class="node">
|
||||
<title>Fonts</title>
|
||||
<polygon fill="none" stroke="black" points="186.1,-0.5 186.1,-150.1 347.65,-150.1 347.65,-0.5 186.1,-0.5"/>
|
||||
<text text-anchor="middle" x="266.88" y="-133.5" font-family="Times,serif" font-size="14.00"><<enumeration>></text>
|
||||
<text text-anchor="middle" x="266.88" y="-116.7" font-family="Times,serif" font-size="14.00">Fonts</text>
|
||||
<polyline fill="none" stroke="black" points="186.1,-108.5 347.65,-108.5"/>
|
||||
<text text-anchor="start" x="194.1" y="-91.9" font-family="Times,serif" font-size="14.00">+ Fonts() : </text>
|
||||
<polyline fill="none" stroke="black" points="186.1,-83.7 347.65,-83.7"/>
|
||||
<text text-anchor="start" x="194.1" y="-67.1" font-family="Times,serif" font-size="14.00">+ getFont(float) : Font</text>
|
||||
<text text-anchor="start" x="194.1" y="-50.3" font-family="Times,serif" font-size="14.00"> + valueOf(String) : Fonts</text>
|
||||
<text text-anchor="start" x="194.1" y="-33.5" font-family="Times,serif" font-size="14.00"> + values() : Fonts[]</text>
|
||||
<polyline fill="none" stroke="black" points="186.1,-25.3 347.65,-25.3"/>
|
||||
<text text-anchor="start" x="194.1" y="-8.7" font-family="Times,serif" font-size="14.00">fontPath : String</text>
|
||||
</g>
|
||||
<!-- Images -->
|
||||
<g id="node3" class="node">
|
||||
<title>Images</title>
|
||||
<polygon fill="none" stroke="black" points="365.45,-8.9 365.45,-141.7 536.31,-141.7 536.31,-8.9 365.45,-8.9"/>
|
||||
<text text-anchor="middle" x="450.88" y="-125.1" font-family="Times,serif" font-size="14.00"><<enumeration>></text>
|
||||
<text text-anchor="middle" x="450.88" y="-108.3" font-family="Times,serif" font-size="14.00">Images</text>
|
||||
<polyline fill="none" stroke="black" points="365.45,-100.1 536.31,-100.1"/>
|
||||
<text text-anchor="start" x="373.45" y="-83.5" font-family="Times,serif" font-size="14.00">+ Images() : </text>
|
||||
<polyline fill="none" stroke="black" points="365.45,-75.3 536.31,-75.3"/>
|
||||
<text text-anchor="start" x="373.45" y="-58.7" font-family="Times,serif" font-size="14.00">+ values() : Images[]</text>
|
||||
<text text-anchor="start" x="373.45" y="-41.9" font-family="Times,serif" font-size="14.00"> + valueOf(String) : Images</text>
|
||||
<polyline fill="none" stroke="black" points="365.45,-33.7 536.31,-33.7"/>
|
||||
<text text-anchor="start" x="373.45" y="-17.1" font-family="Times,serif" font-size="14.00">imagePath : String</text>
|
||||
</g>
|
||||
<!-- Musics -->
|
||||
<g id="node4" class="node">
|
||||
<title>Musics</title>
|
||||
<polygon fill="none" stroke="black" points="554.44,-8.9 554.44,-141.7 725.32,-141.7 725.32,-8.9 554.44,-8.9"/>
|
||||
<text text-anchor="middle" x="639.88" y="-125.1" font-family="Times,serif" font-size="14.00"><<enumeration>></text>
|
||||
<text text-anchor="middle" x="639.88" y="-108.3" font-family="Times,serif" font-size="14.00">Musics</text>
|
||||
<polyline fill="none" stroke="black" points="554.44,-100.1 725.32,-100.1"/>
|
||||
<text text-anchor="start" x="562.44" y="-83.5" font-family="Times,serif" font-size="14.00">+ Musics() : </text>
|
||||
<polyline fill="none" stroke="black" points="554.44,-75.3 725.32,-75.3"/>
|
||||
<text text-anchor="start" x="562.44" y="-58.7" font-family="Times,serif" font-size="14.00">+ values() : Musics[]</text>
|
||||
<text text-anchor="start" x="562.44" y="-41.9" font-family="Times,serif" font-size="14.00"> + valueOf(String) : Musics</text>
|
||||
<polyline fill="none" stroke="black" points="554.44,-33.7 725.32,-33.7"/>
|
||||
<text text-anchor="start" x="562.44" y="-17.1" font-family="Times,serif" font-size="14.00">soundsPath : String</text>
|
||||
</g>
|
||||
<!-- Sounds -->
|
||||
<g id="node5" class="node">
|
||||
<title>Sounds</title>
|
||||
<polygon fill="none" stroke="black" points="743.05,-8.9 743.05,-141.7 914.71,-141.7 914.71,-8.9 743.05,-8.9"/>
|
||||
<text text-anchor="middle" x="828.88" y="-125.1" font-family="Times,serif" font-size="14.00"><<enumeration>></text>
|
||||
<text text-anchor="middle" x="828.88" y="-108.3" font-family="Times,serif" font-size="14.00">Sounds</text>
|
||||
<polyline fill="none" stroke="black" points="743.05,-100.1 914.71,-100.1"/>
|
||||
<text text-anchor="start" x="751.05" y="-83.5" font-family="Times,serif" font-size="14.00">+ Sounds() : </text>
|
||||
<polyline fill="none" stroke="black" points="743.05,-75.3 914.71,-75.3"/>
|
||||
<text text-anchor="start" x="751.05" y="-58.7" font-family="Times,serif" font-size="14.00">+ values() : Sounds[]</text>
|
||||
<text text-anchor="start" x="751.05" y="-41.9" font-family="Times,serif" font-size="14.00"> + valueOf(String) : Sounds</text>
|
||||
<polyline fill="none" stroke="black" points="743.05,-33.7 914.71,-33.7"/>
|
||||
<text text-anchor="start" x="751.05" y="-17.1" font-family="Times,serif" font-size="14.00">soundsPath : String</text>
|
||||
</g>
|
||||
<!-- TileOrientation -->
|
||||
<g id="node6" class="node">
|
||||
<title>TileOrientation</title>
|
||||
<polygon fill="none" stroke="black" points="932.32,-12.9 932.32,-137.7 1177.44,-137.7 1177.44,-12.9 932.32,-12.9"/>
|
||||
<text text-anchor="middle" x="1054.88" y="-121.1" font-family="Times,serif" font-size="14.00"><<enumeration>></text>
|
||||
<text text-anchor="middle" x="1054.88" y="-104.3" font-family="Times,serif" font-size="14.00">TileOrientation</text>
|
||||
<polyline fill="none" stroke="black" points="932.32,-96.1 1177.44,-96.1"/>
|
||||
<text text-anchor="start" x="940.32" y="-79.5" font-family="Times,serif" font-size="14.00">+ TileOrientation() : </text>
|
||||
<polyline fill="none" stroke="black" points="932.32,-71.3 1177.44,-71.3"/>
|
||||
<text text-anchor="start" x="940.32" y="-54.7" font-family="Times,serif" font-size="14.00">+ oppositeOrientation() : TileOrientation</text>
|
||||
<text text-anchor="start" x="940.32" y="-37.9" font-family="Times,serif" font-size="14.00"> + valueOf(String) : TileOrientation</text>
|
||||
<text text-anchor="start" x="940.32" y="-21.1" font-family="Times,serif" font-size="14.00"> + values() : TileOrientation[]</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 407 KiB After Width: | Height: | Size: 1.3 MiB |
@@ -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
|
318
Documentation/DiagrammeUML/GUI/Diagram_GUI.svg
Normal file
@@ -0,0 +1,318 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="2475pt" height="978pt" viewBox="0.00 0.00 2475.25 978.40">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 974.4)">
|
||||
<title>package</title>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-974.4 2471.25,-974.4 2471.25,4 -4,4"/>
|
||||
<!-- BarChartPanel -->
|
||||
<g id="node1" class="node">
|
||||
<title>BarChartPanel</title>
|
||||
<polygon fill="none" stroke="black" points="19.57,-470.1 19.57,-544.5 292.14,-544.5 292.14,-470.1 19.57,-470.1"/>
|
||||
<text text-anchor="middle" x="155.86" y="-527.9" font-family="Times,serif" font-size="14.00">BarChartPanel</text>
|
||||
<polyline fill="none" stroke="black" points="19.57,-519.7 292.14,-519.7"/>
|
||||
<text text-anchor="start" x="27.57" y="-503.1" font-family="Times,serif" font-size="14.00">+ BarChartPanel(List<Integer>, int, JPanel) : </text>
|
||||
<polyline fill="none" stroke="black" points="19.57,-494.9 292.14,-494.9"/>
|
||||
<text text-anchor="start" x="27.57" y="-478.3" font-family="Times,serif" font-size="14.00"># paintComponent(Graphics) : void</text>
|
||||
</g>
|
||||
<!-- ButtonHoverAnimator -->
|
||||
<g id="node2" class="node">
|
||||
<title>ButtonHoverAnimator</title>
|
||||
<polygon fill="none" stroke="black" points="329.89,-761.5 329.89,-852.7 547.82,-852.7 547.82,-761.5 329.89,-761.5"/>
|
||||
<text text-anchor="middle" x="438.86" y="-836.1" font-family="Times,serif" font-size="14.00">ButtonHoverAnimator</text>
|
||||
<polyline fill="none" stroke="black" points="329.89,-827.9 547.82,-827.9"/>
|
||||
<text text-anchor="start" x="337.89" y="-811.3" font-family="Times,serif" font-size="14.00">+ ButtonHoverAnimator(JButton) : </text>
|
||||
<polyline fill="none" stroke="black" points="329.89,-803.1 547.82,-803.1"/>
|
||||
<text text-anchor="start" x="337.89" y="-786.5" font-family="Times,serif" font-size="14.00">+ startAnimation(boolean) : void</text>
|
||||
<text text-anchor="start" x="337.89" y="-769.7" font-family="Times,serif" font-size="14.00"> + updateOriginalFont(float) : void</text>
|
||||
</g>
|
||||
<!-- ButtonPanel -->
|
||||
<g id="node3" class="node">
|
||||
<title>ButtonPanel</title>
|
||||
<polygon fill="none" stroke="black" points="733.94,-128.7 733.94,-370.3 927.78,-370.3 927.78,-128.7 733.94,-128.7"/>
|
||||
<text text-anchor="middle" x="830.86" y="-353.7" font-family="Times,serif" font-size="14.00">ButtonPanel</text>
|
||||
<polyline fill="none" stroke="black" points="733.94,-345.5 927.78,-345.5"/>
|
||||
<text text-anchor="start" x="741.94" y="-328.9" font-family="Times,serif" font-size="14.00">+ ButtonPanel(float) : </text>
|
||||
<polyline fill="none" stroke="black" points="733.94,-320.7 927.78,-320.7"/>
|
||||
<text text-anchor="start" x="741.94" y="-304.1" font-family="Times,serif" font-size="14.00">- howToPlayButton : JButton</text>
|
||||
<text text-anchor="start" x="741.94" y="-287.3" font-family="Times,serif" font-size="14.00"> - exitButton : JButton</text>
|
||||
<text text-anchor="start" x="741.94" y="-270.5" font-family="Times,serif" font-size="14.00"> - newGameButton : JButton</text>
|
||||
<text text-anchor="start" x="741.94" y="-253.7" font-family="Times,serif" font-size="14.00"> - settingsButton : JButton</text>
|
||||
<polyline fill="none" stroke="black" points="733.94,-245.5 927.78,-245.5"/>
|
||||
<text text-anchor="start" x="741.94" y="-228.9" font-family="Times,serif" font-size="14.00">+ updateButtonFonts(int) : void</text>
|
||||
<polyline fill="none" stroke="black" points="733.94,-220.7 927.78,-220.7"/>
|
||||
<text text-anchor="start" x="741.94" y="-204.1" font-family="Times,serif" font-size="14.00">howToPlayButton : JButton</text>
|
||||
<text text-anchor="start" x="741.94" y="-187.3" font-family="Times,serif" font-size="14.00"> exitButton : JButton</text>
|
||||
<text text-anchor="start" x="741.94" y="-170.5" font-family="Times,serif" font-size="14.00"> buttons : List<JButton></text>
|
||||
<text text-anchor="start" x="741.94" y="-153.7" font-family="Times,serif" font-size="14.00"> settingsButton : JButton</text>
|
||||
<text text-anchor="start" x="741.94" y="-136.9" font-family="Times,serif" font-size="14.00"> newGameButton : JButton</text>
|
||||
</g>
|
||||
<!-- GameControlsMenu -->
|
||||
<g id="node4" class="node">
|
||||
<title>GameControlsMenu</title>
|
||||
<polygon fill="none" stroke="black" points="1407.73,-732.3 1407.73,-881.9 1747.99,-881.9 1747.99,-732.3 1407.73,-732.3"/>
|
||||
<text text-anchor="middle" x="1577.86" y="-865.3" font-family="Times,serif" font-size="14.00">GameControlsMenu</text>
|
||||
<polyline fill="none" stroke="black" points="1407.73,-857.1 1747.99,-857.1"/>
|
||||
<text text-anchor="start" x="1415.73" y="-840.5" font-family="Times,serif" font-size="14.00">+ GameControlsMenu() : </text>
|
||||
<polyline fill="none" stroke="black" points="1407.73,-832.3 1747.99,-832.3"/>
|
||||
<text text-anchor="start" x="1415.73" y="-815.7" font-family="Times,serif" font-size="14.00">- createPanel(String, String) : JPanel</text>
|
||||
<text text-anchor="start" x="1415.73" y="-798.9" font-family="Times,serif" font-size="14.00"> - loadIcon(String) : ImageIcon</text>
|
||||
<text text-anchor="start" x="1415.73" y="-782.1" font-family="Times,serif" font-size="14.00"> - createPanelWithMultipleIcons(String, String[]) : JPanel</text>
|
||||
<text text-anchor="start" x="1415.73" y="-765.3" font-family="Times,serif" font-size="14.00"> + toggleVisibility() : void</text>
|
||||
<polyline fill="none" stroke="black" points="1407.73,-757.1 1747.99,-757.1"/>
|
||||
<text text-anchor="start" x="1415.73" y="-740.5" font-family="Times,serif" font-size="14.00">controlsMenuVisible : boolean</text>
|
||||
</g>
|
||||
<!-- GameModeSelectionPanel -->
|
||||
<g id="node5" class="node">
|
||||
<title>GameModeSelectionPanel</title>
|
||||
<polygon fill="none" stroke="black" points="1765.71,-644.3 1765.71,-969.9 2164.01,-969.9 2164.01,-644.3 1765.71,-644.3"/>
|
||||
<text text-anchor="middle" x="1964.86" y="-953.3" font-family="Times,serif" font-size="14.00">GameModeSelectionPanel</text>
|
||||
<polyline fill="none" stroke="black" points="1765.71,-945.1 2164.01,-945.1"/>
|
||||
<text text-anchor="start" x="1773.71" y="-928.5" font-family="Times,serif" font-size="14.00">+ GameModeSelectionPanel(ActionListener, JFrame, MainMenu) : </text>
|
||||
<polyline fill="none" stroke="black" points="1765.71,-920.3 2164.01,-920.3"/>
|
||||
<text text-anchor="start" x="1773.71" y="-903.7" font-family="Times,serif" font-size="14.00">- currentPage : int</text>
|
||||
<polyline fill="none" stroke="black" points="1765.71,-895.5 2164.01,-895.5"/>
|
||||
<text text-anchor="start" x="1773.71" y="-878.9" font-family="Times,serif" font-size="14.00">- createTopPanel(JFrame, MainMenu) : JPanel</text>
|
||||
<text text-anchor="start" x="1773.71" y="-862.1" font-family="Times,serif" font-size="14.00"> - createDateFilterPanel() : JPanel</text>
|
||||
<text text-anchor="start" x="1773.71" y="-845.3" font-family="Times,serif" font-size="14.00"> - createSeedPanel(ActionListener) : JPanel</text>
|
||||
<text text-anchor="start" x="1773.71" y="-828.5" font-family="Times,serif" font-size="14.00"> - stylizeDateSpinner(JSpinner) : void</text>
|
||||
<text text-anchor="start" x="1773.71" y="-811.7" font-family="Times,serif" font-size="14.00"> - createPaginationPanel() : JPanel</text>
|
||||
<text text-anchor="start" x="1773.71" y="-794.9" font-family="Times,serif" font-size="14.00"> - createReturnButtonWithIcon(JFrame, MainMenu) : JButton</text>
|
||||
<text text-anchor="start" x="1773.71" y="-778.1" font-family="Times,serif" font-size="14.00"> - createGameModeButton(String, ActionListener) : JButton</text>
|
||||
<text text-anchor="start" x="1773.71" y="-761.3" font-family="Times,serif" font-size="14.00"> + loadSeriesForCurrentPage() : void</text>
|
||||
<text text-anchor="start" x="1773.71" y="-744.5" font-family="Times,serif" font-size="14.00"> - createMainPanel() : JPanel</text>
|
||||
<text text-anchor="start" x="1773.71" y="-727.7" font-family="Times,serif" font-size="14.00"> - updatePageLabelAndButtons(int, int) : void</text>
|
||||
<text text-anchor="start" x="1773.71" y="-710.9" font-family="Times,serif" font-size="14.00"> - createGridBagConstraints(int, int, int) : GridBagConstraints</text>
|
||||
<polyline fill="none" stroke="black" points="1765.71,-702.7 2164.01,-702.7"/>
|
||||
<text text-anchor="start" x="1773.71" y="-686.1" font-family="Times,serif" font-size="14.00">longSeed : long</text>
|
||||
<text text-anchor="start" x="1773.71" y="-669.3" font-family="Times,serif" font-size="14.00"> currentPage : int</text>
|
||||
<text text-anchor="start" x="1773.71" y="-652.5" font-family="Times,serif" font-size="14.00"> stringSeed : String</text>
|
||||
</g>
|
||||
<!-- GameOver -->
|
||||
<g id="node6" class="node">
|
||||
<title>GameOver</title>
|
||||
<polygon fill="none" stroke="black" points="0,-761.5 0,-852.7 311.72,-852.7 311.72,-761.5 0,-761.5"/>
|
||||
<text text-anchor="middle" x="155.86" y="-836.1" font-family="Times,serif" font-size="14.00">GameOver</text>
|
||||
<polyline fill="none" stroke="black" points="0,-827.9 311.72,-827.9"/>
|
||||
<text text-anchor="start" x="8" y="-811.3" font-family="Times,serif" font-size="14.00">+ GameOver(JFrame, int, Database, MainMenu) : </text>
|
||||
<polyline fill="none" stroke="black" points="0,-803.1 311.72,-803.1"/>
|
||||
<text text-anchor="start" x="8" y="-786.5" font-family="Times,serif" font-size="14.00">- getFunnyQuote(int) : String</text>
|
||||
<text text-anchor="start" x="8" y="-769.7" font-family="Times,serif" font-size="14.00"> - scoreInGroup(List<Integer>, int, int, int) : boolean</text>
|
||||
</g>
|
||||
<!-- GameOver->BarChartPanel -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>GameOver->BarChartPanel</title>
|
||||
<path fill="none" stroke="#595959" stroke-dasharray="5,2" d="M155.86,-761.24C155.86,-761.24 155.86,-555.85 155.86,-555.85"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="155.86,-545.85 160.36,-555.85 155.86,-549.63 155.86,-555.85 155.86,-555.85 155.86,-555.85 155.86,-549.63 151.36,-555.85 155.86,-545.85"/>
|
||||
<text text-anchor="middle" x="179.56" y="-613.2" font-family="Times,serif" font-size="14.00">«create»</text>
|
||||
</g>
|
||||
<!-- Leaderboard -->
|
||||
<g id="node7" class="node">
|
||||
<title>Leaderboard</title>
|
||||
<polygon fill="none" stroke="black" points="896.69,-0.5 896.69,-74.9 1015.03,-74.9 1015.03,-0.5 896.69,-0.5"/>
|
||||
<text text-anchor="middle" x="955.86" y="-58.3" font-family="Times,serif" font-size="14.00">Leaderboard</text>
|
||||
<polyline fill="none" stroke="black" points="896.69,-50.1 1015.03,-50.1"/>
|
||||
<text text-anchor="start" x="904.69" y="-33.5" font-family="Times,serif" font-size="14.00">+ Leaderboard() : </text>
|
||||
<polyline fill="none" stroke="black" points="896.69,-25.3 1015.03,-25.3"/>
|
||||
<text text-anchor="start" x="904.69" y="-8.7" font-family="Times,serif" font-size="14.00">+ refresh() : void</text>
|
||||
</g>
|
||||
<!-- LeaderboardBarChartPanel -->
|
||||
<g id="node8" class="node">
|
||||
<title>LeaderboardBarChartPanel</title>
|
||||
<polygon fill="none" stroke="black" points="518.2,-0.5 518.2,-74.9 755.52,-74.9 755.52,-0.5 518.2,-0.5"/>
|
||||
<text text-anchor="middle" x="636.86" y="-58.3" font-family="Times,serif" font-size="14.00">LeaderboardBarChartPanel</text>
|
||||
<polyline fill="none" stroke="black" points="518.2,-50.1 755.52,-50.1"/>
|
||||
<text text-anchor="start" x="526.2" y="-33.5" font-family="Times,serif" font-size="14.00">+ LeaderboardBarChartPanel(int, int) : </text>
|
||||
<polyline fill="none" stroke="black" points="518.2,-25.3 755.52,-25.3"/>
|
||||
<text text-anchor="start" x="526.2" y="-8.7" font-family="Times,serif" font-size="14.00"># paintComponent(Graphics) : void</text>
|
||||
</g>
|
||||
<!-- LeaderboardByTier -->
|
||||
<g id="node9" class="node">
|
||||
<title>LeaderboardByTier</title>
|
||||
<polygon fill="none" stroke="black" points="557.86,-212.3 557.86,-286.7 715.86,-286.7 715.86,-212.3 557.86,-212.3"/>
|
||||
<text text-anchor="middle" x="636.86" y="-270.1" font-family="Times,serif" font-size="14.00">LeaderboardByTier</text>
|
||||
<polyline fill="none" stroke="black" points="557.86,-261.9 715.86,-261.9"/>
|
||||
<text text-anchor="start" x="565.86" y="-245.3" font-family="Times,serif" font-size="14.00">+ LeaderboardByTier() : </text>
|
||||
<polyline fill="none" stroke="black" points="557.86,-237.1 715.86,-237.1"/>
|
||||
<text text-anchor="start" x="565.86" y="-220.5" font-family="Times,serif" font-size="14.00">+ refresh() : void</text>
|
||||
</g>
|
||||
<!-- LeaderboardByTier->Leaderboard -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>LeaderboardByTier->Leaderboard</title>
|
||||
<path fill="none" stroke="#000082" d="M663.19,-211.85C663.19,-168.09 663.19,-101.8 663.19,-101.8 663.19,-101.8 912.23,-101.8 912.23,-101.8 912.23,-101.8 912.23,-86.87 912.23,-86.87"/>
|
||||
<polygon fill="#000082" stroke="#000082" points="915.73,-86.87 912.23,-76.87 908.73,-86.87 915.73,-86.87"/>
|
||||
</g>
|
||||
<!-- LeaderboardByTier->LeaderboardBarChartPanel -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>LeaderboardByTier->LeaderboardBarChartPanel</title>
|
||||
<path fill="none" stroke="#595959" stroke-dasharray="5,2" d="M610.53,-212.12C610.53,-212.12 610.53,-86.28 610.53,-86.28"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="610.53,-76.28 615.03,-86.28 610.53,-80.06 610.53,-86.28 610.53,-86.28 610.53,-86.28 610.53,-80.06 606.03,-86.28 610.53,-76.28"/>
|
||||
<text text-anchor="middle" x="660.56" y="-97.6" font-family="Times,serif" font-size="14.00">«create»</text>
|
||||
</g>
|
||||
<!-- LeaderboardWorldWide -->
|
||||
<g id="node10" class="node">
|
||||
<title>LeaderboardWorldWide</title>
|
||||
<polygon fill="none" stroke="black" points="983.95,-187.1 983.95,-311.9 1339.76,-311.9 1339.76,-187.1 983.95,-187.1"/>
|
||||
<text text-anchor="middle" x="1161.86" y="-295.3" font-family="Times,serif" font-size="14.00">LeaderboardWorldWide</text>
|
||||
<polyline fill="none" stroke="black" points="983.95,-287.1 1339.76,-287.1"/>
|
||||
<text text-anchor="start" x="991.95" y="-270.5" font-family="Times,serif" font-size="14.00">+ LeaderboardWorldWide() : </text>
|
||||
<polyline fill="none" stroke="black" points="983.95,-262.3 1339.76,-262.3"/>
|
||||
<text text-anchor="start" x="991.95" y="-245.7" font-family="Times,serif" font-size="14.00">- createPlayerPanel(String, int, int) : JPanel</text>
|
||||
<text text-anchor="start" x="991.95" y="-228.9" font-family="Times,serif" font-size="14.00"> - createTopPlayerPanel(String, int, String, boolean) : JPanel</text>
|
||||
<text text-anchor="start" x="991.95" y="-212.1" font-family="Times,serif" font-size="14.00"> - resizeIcon(String, int, int) : ImageIcon</text>
|
||||
<text text-anchor="start" x="991.95" y="-195.3" font-family="Times,serif" font-size="14.00"> + refresh() : void</text>
|
||||
</g>
|
||||
<!-- LeaderboardWorldWide->Leaderboard -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>LeaderboardWorldWide->Leaderboard</title>
|
||||
<path fill="none" stroke="#000082" d="M999.49,-186.81C999.49,-186.81 999.49,-86.85 999.49,-86.85"/>
|
||||
<polygon fill="#000082" stroke="#000082" points="1002.99,-86.85 999.49,-76.85 995.99,-86.85 1002.99,-86.85"/>
|
||||
</g>
|
||||
<!-- MainMenu -->
|
||||
<g id="node11" class="node">
|
||||
<title>MainMenu</title>
|
||||
<polygon fill="none" stroke="black" points="834.53,-440.9 834.53,-573.7 1009.19,-573.7 1009.19,-440.9 834.53,-440.9"/>
|
||||
<text text-anchor="middle" x="921.86" y="-557.1" font-family="Times,serif" font-size="14.00">MainMenu</text>
|
||||
<polyline fill="none" stroke="black" points="834.53,-548.9 1009.19,-548.9"/>
|
||||
<text text-anchor="start" x="842.53" y="-532.3" font-family="Times,serif" font-size="14.00">+ MainMenu() : </text>
|
||||
<polyline fill="none" stroke="black" points="834.53,-524.1 1009.19,-524.1"/>
|
||||
<text text-anchor="start" x="842.53" y="-507.5" font-family="Times,serif" font-size="14.00">- titleLabel : Title</text>
|
||||
<text text-anchor="start" x="842.53" y="-490.7" font-family="Times,serif" font-size="14.00"> - buttonPanel : ButtonPanel</text>
|
||||
<polyline fill="none" stroke="black" points="834.53,-482.5 1009.19,-482.5"/>
|
||||
<text text-anchor="start" x="842.53" y="-465.9" font-family="Times,serif" font-size="14.00">titleLabel : Title</text>
|
||||
<text text-anchor="start" x="842.53" y="-449.1" font-family="Times,serif" font-size="14.00"> buttonPanel : ButtonPanel</text>
|
||||
</g>
|
||||
<!-- MainMenu->ButtonPanel -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>MainMenu->ButtonPanel</title>
|
||||
<path fill="none" stroke="#595959" d="M865.61,-427.52C865.61,-427.52 865.61,-381.91 865.61,-381.91"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="865.61,-427.67 869.61,-433.67 865.61,-439.67 861.61,-433.67 865.61,-427.67"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="865.61,-371.91 870.11,-381.91 865.61,-375.69 865.61,-381.91 865.61,-381.91 865.61,-381.91 865.61,-375.69 861.11,-381.91 865.61,-371.91"/>
|
||||
<text text-anchor="middle" x="832.17" y="-391.69" font-family="Times,serif" font-size="14.00">buttonPanel</text>
|
||||
<text text-anchor="middle" x="832.17" y="-374.89" font-family="Times,serif" font-size="14.00">1</text>
|
||||
<text text-anchor="middle" x="862.11" y="-427.97" font-family="Times,serif" font-size="14.00">1</text>
|
||||
</g>
|
||||
<!-- MainMenu->ButtonPanel -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>MainMenu->ButtonPanel</title>
|
||||
<path fill="none" stroke="#595959" stroke-dasharray="5,2" d="M896.69,-440.57C896.69,-440.57 896.69,-381.91 896.69,-381.91"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="896.69,-371.91 901.19,-381.91 896.69,-375.69 896.69,-381.91 896.69,-381.91 896.69,-381.91 896.69,-375.69 892.19,-381.91 896.69,-371.91"/>
|
||||
<text text-anchor="middle" x="910.56" y="-393" font-family="Times,serif" font-size="14.00">«create»</text>
|
||||
</g>
|
||||
<!-- MainMenu->Leaderboard -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>MainMenu->Leaderboard</title>
|
||||
<path fill="none" stroke="#595959" d="M955.87,-427.46C955.87,-427.46 955.87,-86.44 955.87,-86.44"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="955.87,-427.62 959.87,-433.62 955.87,-439.62 951.87,-433.62 955.87,-427.62"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="955.87,-76.44 960.37,-86.44 955.87,-80.22 955.87,-86.44 955.87,-86.44 955.87,-86.44 955.87,-80.22 951.37,-86.44 955.87,-76.44"/>
|
||||
<text text-anchor="middle" x="900.68" y="-96.22" font-family="Times,serif" font-size="14.00">currentLeaderboard</text>
|
||||
<text text-anchor="middle" x="900.68" y="-79.42" font-family="Times,serif" font-size="14.00">1</text>
|
||||
<text text-anchor="middle" x="952.37" y="-427.92" font-family="Times,serif" font-size="14.00">1</text>
|
||||
</g>
|
||||
<!-- MainMenu->LeaderboardWorldWide -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>MainMenu->LeaderboardWorldWide</title>
|
||||
<path fill="none" stroke="#595959" stroke-dasharray="5,2" d="M996.57,-440.57C996.57,-440.57 996.57,-323.62 996.57,-323.62"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="996.57,-313.62 1001.07,-323.62 996.57,-317.4 996.57,-323.62 996.57,-323.62 996.57,-323.62 996.57,-317.4 992.07,-323.62 996.57,-313.62"/>
|
||||
<text text-anchor="middle" x="1098.56" y="-393" font-family="Times,serif" font-size="14.00">«create»</text>
|
||||
</g>
|
||||
<!-- Reward -->
|
||||
<g id="node12" class="node">
|
||||
<title>Reward</title>
|
||||
<polygon fill="none" stroke="black" points="2182.47,-707.1 2182.47,-907.1 2467.25,-907.1 2467.25,-707.1 2182.47,-707.1"/>
|
||||
<text text-anchor="middle" x="2324.86" y="-890.5" font-family="Times,serif" font-size="14.00">Reward</text>
|
||||
<polyline fill="none" stroke="black" points="2182.47,-882.3 2467.25,-882.3"/>
|
||||
<text text-anchor="start" x="2190.47" y="-865.7" font-family="Times,serif" font-size="14.00">+ Reward(String, String, boolean, ImageIcon) : </text>
|
||||
<polyline fill="none" stroke="black" points="2182.47,-857.5 2467.25,-857.5"/>
|
||||
<text text-anchor="start" x="2190.47" y="-840.9" font-family="Times,serif" font-size="14.00">- description : String</text>
|
||||
<text text-anchor="start" x="2190.47" y="-824.1" font-family="Times,serif" font-size="14.00"> - isUnlocked : boolean</text>
|
||||
<text text-anchor="start" x="2190.47" y="-807.3" font-family="Times,serif" font-size="14.00"> - icon : ImageIcon</text>
|
||||
<text text-anchor="start" x="2190.47" y="-790.5" font-family="Times,serif" font-size="14.00"> - name : String</text>
|
||||
<polyline fill="none" stroke="black" points="2182.47,-782.3 2467.25,-782.3"/>
|
||||
<text text-anchor="start" x="2190.47" y="-765.7" font-family="Times,serif" font-size="14.00">name : String</text>
|
||||
<text text-anchor="start" x="2190.47" y="-748.9" font-family="Times,serif" font-size="14.00"> icon : ImageIcon</text>
|
||||
<text text-anchor="start" x="2190.47" y="-732.1" font-family="Times,serif" font-size="14.00"> description : String</text>
|
||||
<text text-anchor="start" x="2190.47" y="-715.3" font-family="Times,serif" font-size="14.00"> isUnlocked : boolean</text>
|
||||
</g>
|
||||
<!-- SettingsPanel -->
|
||||
<g id="node13" class="node">
|
||||
<title>SettingsPanel</title>
|
||||
<polygon fill="none" stroke="black" points="565.86,-681.9 565.86,-932.3 1067.86,-932.3 1067.86,-681.9 565.86,-681.9"/>
|
||||
<text text-anchor="middle" x="816.86" y="-915.7" font-family="Times,serif" font-size="14.00">SettingsPanel</text>
|
||||
<polyline fill="none" stroke="black" points="565.86,-907.5 1067.86,-907.5"/>
|
||||
<text text-anchor="start" x="573.86" y="-890.9" font-family="Times,serif" font-size="14.00">+ SettingsPanel(MainMenu, JFrame) : </text>
|
||||
<polyline fill="none" stroke="black" points="565.86,-882.7 1067.86,-882.7"/>
|
||||
<text text-anchor="start" x="573.86" y="-866.1" font-family="Times,serif" font-size="14.00">- initializeSettingsFrame() : void</text>
|
||||
<text text-anchor="start" x="573.86" y="-849.3" font-family="Times,serif" font-size="14.00"> - createReturnButtonWithIcon() : JButton</text>
|
||||
<text text-anchor="start" x="573.86" y="-832.5" font-family="Times,serif" font-size="14.00"> - setupBackground() : void</text>
|
||||
<text text-anchor="start" x="573.86" y="-815.7" font-family="Times,serif" font-size="14.00"> - createSliderPanel(JSlider) : JPanel</text>
|
||||
<text text-anchor="start" x="573.86" y="-798.9" font-family="Times,serif" font-size="14.00"> - createSoundPanel(String, JSlider, ChangeListener, MuteCheckBoxListener) : JPanel</text>
|
||||
<text text-anchor="start" x="573.86" y="-782.1" font-family="Times,serif" font-size="14.00"> - setupMainPanel() : void</text>
|
||||
<text text-anchor="start" x="573.86" y="-765.3" font-family="Times,serif" font-size="14.00"> - setupTopPanel() : void</text>
|
||||
<text text-anchor="start" x="573.86" y="-748.5" font-family="Times,serif" font-size="14.00"> - createGridBagConstraints(int, int, int) : GridBagConstraints</text>
|
||||
<text text-anchor="start" x="573.86" y="-731.7" font-family="Times,serif" font-size="14.00"> # paintComponent(Graphics) : void</text>
|
||||
<text text-anchor="start" x="573.86" y="-714.9" font-family="Times,serif" font-size="14.00"> - createAutoFocusPanel() : JPanel</text>
|
||||
<polyline fill="none" stroke="black" points="565.86,-706.7 1067.86,-706.7"/>
|
||||
<text text-anchor="start" x="573.86" y="-690.1" font-family="Times,serif" font-size="14.00">returnButtonVisible : boolean</text>
|
||||
</g>
|
||||
<!-- SettingsPanel->MainMenu -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>SettingsPanel->MainMenu</title>
|
||||
<path fill="none" stroke="#595959" d="M921.86,-668.64C921.86,-668.64 921.86,-585.37 921.86,-585.37"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="921.86,-668.79 925.86,-674.79 921.86,-680.79 917.86,-674.79 921.86,-668.79"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="921.86,-575.37 926.36,-585.37 921.86,-579.15 921.86,-585.37 921.86,-585.37 921.86,-585.37 921.86,-579.15 917.36,-585.37 921.86,-575.37"/>
|
||||
<text text-anchor="middle" x="891.53" y="-595.15" font-family="Times,serif" font-size="14.00">mainMenu</text>
|
||||
<text text-anchor="middle" x="891.53" y="-578.35" font-family="Times,serif" font-size="14.00">1</text>
|
||||
<text text-anchor="middle" x="918.36" y="-669.09" font-family="Times,serif" font-size="14.00">1</text>
|
||||
</g>
|
||||
<!-- Step -->
|
||||
<g id="node14" class="node">
|
||||
<title>Step</title>
|
||||
<polygon fill="none" stroke="black" points="1143.27,-424.1 1143.27,-590.5 1332.45,-590.5 1332.45,-424.1 1143.27,-424.1"/>
|
||||
<text text-anchor="middle" x="1237.86" y="-573.9" font-family="Times,serif" font-size="14.00">Step</text>
|
||||
<polyline fill="none" stroke="black" points="1143.27,-565.7 1332.45,-565.7"/>
|
||||
<text text-anchor="start" x="1151.27" y="-549.1" font-family="Times,serif" font-size="14.00">+ Step(String, String, String) : </text>
|
||||
<polyline fill="none" stroke="black" points="1143.27,-540.9 1332.45,-540.9"/>
|
||||
<text text-anchor="start" x="1151.27" y="-524.3" font-family="Times,serif" font-size="14.00">- title : String</text>
|
||||
<text text-anchor="start" x="1151.27" y="-507.5" font-family="Times,serif" font-size="14.00"> - imagePath : String</text>
|
||||
<text text-anchor="start" x="1151.27" y="-490.7" font-family="Times,serif" font-size="14.00"> - text : String</text>
|
||||
<polyline fill="none" stroke="black" points="1143.27,-482.5 1332.45,-482.5"/>
|
||||
<text text-anchor="start" x="1151.27" y="-465.9" font-family="Times,serif" font-size="14.00">text : String</text>
|
||||
<text text-anchor="start" x="1151.27" y="-449.1" font-family="Times,serif" font-size="14.00"> imagePath : String</text>
|
||||
<text text-anchor="start" x="1151.27" y="-432.3" font-family="Times,serif" font-size="14.00"> title : String</text>
|
||||
</g>
|
||||
<!-- TutorialPanel -->
|
||||
<g id="node15" class="node">
|
||||
<title>TutorialPanel</title>
|
||||
<polygon fill="none" stroke="black" points="1086.01,-719.5 1086.01,-894.7 1389.71,-894.7 1389.71,-719.5 1086.01,-719.5"/>
|
||||
<text text-anchor="middle" x="1237.86" y="-878.1" font-family="Times,serif" font-size="14.00">TutorialPanel</text>
|
||||
<polyline fill="none" stroke="black" points="1086.01,-869.9 1389.71,-869.9"/>
|
||||
<text text-anchor="start" x="1094.01" y="-853.3" font-family="Times,serif" font-size="14.00">+ TutorialPanel(List<Step>, MainMenu, JFrame) : </text>
|
||||
<polyline fill="none" stroke="black" points="1086.01,-845.1 1389.71,-845.1"/>
|
||||
<text text-anchor="start" x="1094.01" y="-828.5" font-family="Times,serif" font-size="14.00">- updateStepDisplay() : void</text>
|
||||
<text text-anchor="start" x="1094.01" y="-811.7" font-family="Times,serif" font-size="14.00"> - styleButton(JButton) : void</text>
|
||||
<text text-anchor="start" x="1094.01" y="-794.9" font-family="Times,serif" font-size="14.00"> - createReturnButtonWithIcon() : JButton</text>
|
||||
<text text-anchor="start" x="1094.01" y="-778.1" font-family="Times,serif" font-size="14.00"> - showPreviousStep() : void</text>
|
||||
<text text-anchor="start" x="1094.01" y="-761.3" font-family="Times,serif" font-size="14.00"> - addLineBreaks(String, int) : String</text>
|
||||
<text text-anchor="start" x="1094.01" y="-744.5" font-family="Times,serif" font-size="14.00"> # paintComponent(Graphics) : void</text>
|
||||
<text text-anchor="start" x="1094.01" y="-727.7" font-family="Times,serif" font-size="14.00"> - showNextStep() : void</text>
|
||||
</g>
|
||||
<!-- TutorialPanel->MainMenu -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>TutorialPanel->MainMenu</title>
|
||||
<path fill="none" stroke="#595959" d="M1114.64,-706.12C1114.64,-706.12 1114.64,-507.3 1114.64,-507.3 1114.64,-507.3 1020.72,-507.3 1020.72,-507.3"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1114.64,-706.27 1118.64,-712.27 1114.64,-718.27 1110.64,-712.27 1114.64,-706.27"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1010.72,-507.3 1020.72,-502.8 1014.5,-507.3 1020.72,-507.3 1020.72,-507.3 1020.72,-507.3 1014.5,-507.3 1020.72,-511.8 1010.72,-507.3"/>
|
||||
<text text-anchor="middle" x="1039.83" y="-528.3" font-family="Times,serif" font-size="14.00">mainMenu</text>
|
||||
<text text-anchor="middle" x="1039.83" y="-511.5" font-family="Times,serif" font-size="14.00">1</text>
|
||||
<text text-anchor="middle" x="1111.14" y="-706.58" font-family="Times,serif" font-size="14.00">1</text>
|
||||
</g>
|
||||
<!-- TutorialPanel->Step -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>TutorialPanel->Step</title>
|
||||
<path fill="none" stroke="#595959" d="M1237.86,-706.12C1237.86,-706.12 1237.86,-602.06 1237.86,-602.06"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1237.86,-706.27 1241.86,-712.27 1237.86,-718.27 1233.86,-712.27 1237.86,-706.27"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1237.86,-592.06 1242.36,-602.06 1237.86,-595.85 1237.86,-602.06 1237.86,-602.06 1237.86,-602.06 1237.86,-595.85 1233.36,-602.06 1237.86,-592.06"/>
|
||||
<text text-anchor="middle" x="1223.86" y="-611.85" font-family="Times,serif" font-size="14.00">steps</text>
|
||||
<text text-anchor="middle" x="1223.86" y="-595.05" font-family="Times,serif" font-size="14.00">*</text>
|
||||
<text text-anchor="middle" x="1234.36" y="-706.58" font-family="Times,serif" font-size="14.00">1</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 1.2 MiB |
@@ -1,193 +1,136 @@
|
||||
@startuml
|
||||
class fr.monkhanny.dorfromantik.game.CustomKeyAdapter {
|
||||
- Board board
|
||||
+ <<Create>> CustomKeyAdapter(Board)
|
||||
+ void keyPressed(KeyEvent)
|
||||
@startuml game
|
||||
!theme plain
|
||||
top to bottom direction
|
||||
skinparam linetype ortho
|
||||
|
||||
class Board {
|
||||
- offsetX: int
|
||||
- random: Random
|
||||
- zoomFactor: double
|
||||
- game: Game
|
||||
- nextTile: Tile
|
||||
- offsetY: int
|
||||
- controlsMenu: GameControlsMenu
|
||||
+ handleSpaceKeyPress(): void
|
||||
+ zoomIn(): void
|
||||
+ moveBoard(int, int): void
|
||||
+ zoomOut(): void
|
||||
- initializeNextTile(): void
|
||||
- calculateAvailablePositions(Tile): void
|
||||
+ handleMouseMove(MouseEvent): void
|
||||
- isTileAtPosition(Point): boolean
|
||||
+ handleMouseClick(MouseEvent): void
|
||||
+ paintComponent(Graphics): void
|
||||
+ autoReFocus(Tile): void
|
||||
+ getTileAt(int, int): Tile
|
||||
- initializeCentralTile(): void
|
||||
+ placeTileAtPosition(Point): void
|
||||
+ addTile(Tile): void
|
||||
random: Random
|
||||
zoomFactor: double
|
||||
controlsMenu: GameControlsMenu
|
||||
nextTile: Tile
|
||||
offsetX: int
|
||||
game: Game
|
||||
offsetY: int
|
||||
}
|
||||
class Cell {
|
||||
+ radius: int
|
||||
- board: Board
|
||||
+ setPosition(int, int): void
|
||||
# paintComponent(Graphics): void
|
||||
+ to360Degrees(double): double
|
||||
XCoord: int
|
||||
board: Board
|
||||
YCoord: int
|
||||
radius: int
|
||||
}
|
||||
class CustomKeyAdapter {
|
||||
+ keyPressed(KeyEvent): void
|
||||
}
|
||||
class CustomMouseMotionAdapter {
|
||||
+ mouseMoved(MouseEvent): void
|
||||
}
|
||||
class EscapeMenu {
|
||||
- createButton(String): JButton
|
||||
menuVisible: boolean
|
||||
settingsButtonListener: ActionListener
|
||||
resumeButtonListener: ActionListener
|
||||
quitButtonListener: ActionListener
|
||||
}
|
||||
class Game {
|
||||
+ getRandomInt(int): int
|
||||
}
|
||||
class PauseGame {
|
||||
+ keyPressed(KeyEvent): void
|
||||
}
|
||||
class Pocket {
|
||||
- biome: Biome
|
||||
- tiles: Set<Tile>
|
||||
+ addTile(Tile): void
|
||||
tiles: Set<Tile>
|
||||
size: int
|
||||
biome: Biome
|
||||
}
|
||||
class RemainingTilesIndicator {
|
||||
- remainingTiles: int
|
||||
+ draw(Graphics, int, int): void
|
||||
- createHexagon(int, int, int, int): Polygon
|
||||
totalHeight: int
|
||||
remainingTiles: int
|
||||
}
|
||||
class ScoreDisplay {
|
||||
- score: int
|
||||
+ setPosition(int, int): void
|
||||
+ draw(Graphics): void
|
||||
score: int
|
||||
}
|
||||
class ScoreManager {
|
||||
- currentScore: int
|
||||
- recalculateScore(): void
|
||||
- findPocketForTile(Tile, Biome): Pocket?
|
||||
+ addTile(Tile): void
|
||||
currentScore: int
|
||||
}
|
||||
class Tile {
|
||||
+ determineSide(int, int): TileOrientation
|
||||
+ getBiome(TileOrientation): Biome
|
||||
+ getNeighbor(TileOrientation): Tile
|
||||
+ containsBiome(Biome): boolean
|
||||
+ assignRandomBiomes(): void
|
||||
# drawTileAt(Graphics, int, int, float): void
|
||||
# paintTile(Graphics, float): void
|
||||
+ isAdjacentTo(Tile): boolean
|
||||
+ rotate(boolean): void
|
||||
biomes: Biome[]
|
||||
dominantBiome: Biome
|
||||
}
|
||||
class TilePanningTransition {
|
||||
+ start(): void
|
||||
}
|
||||
|
||||
|
||||
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
|
||||
Board -[#595959,dashed]-> CustomKeyAdapter : "«create»"
|
||||
Board -[#595959,dashed]-> CustomMouseMotionAdapter : "«create»"
|
||||
Board "1" *-[#595959,plain]-> "game\n1" Game
|
||||
Board -[#595959,dashed]-> Game : "«create»"
|
||||
Board -[#595959,dashed]-> PauseGame : "«create»"
|
||||
Board -[#595959,dashed]-> RemainingTilesIndicator : "«create»"
|
||||
Board "1" *-[#595959,plain]-> "remainingTilesIndicator\n1" RemainingTilesIndicator
|
||||
Board -[#595959,dashed]-> ScoreDisplay : "«create»"
|
||||
Board "1" *-[#595959,plain]-> "scoreDisplay\n1" ScoreDisplay
|
||||
Board -[#595959,dashed]-> ScoreManager : "«create»"
|
||||
Board "1" *-[#595959,plain]-> "scoreManager\n1" ScoreManager
|
||||
Board "1" *-[#595959,plain]-> "tiles\n*" Tile
|
||||
Board -[#595959,dashed]-> Tile : "«create»"
|
||||
Board -[#595959,dashed]-> TilePanningTransition : "«create»"
|
||||
Cell "1" *-[#595959,plain]-> "board\n1" Board
|
||||
CustomKeyAdapter "1" *-[#595959,plain]-> "board\n1" Board
|
||||
CustomMouseMotionAdapter "1" *-[#595959,plain]-> "board\n1" Board
|
||||
PauseGame "1" *-[#595959,plain]-> "escapeMenu\n1" EscapeMenu
|
||||
PauseGame -[#595959,dashed]-> EscapeMenu : "«create»"
|
||||
Pocket "1" *-[#595959,plain]-> "tiles\n*" Tile
|
||||
ScoreManager -[#595959,dashed]-> Pocket : "«create»"
|
||||
ScoreManager "1" *-[#595959,plain]-> "pockets\n*" Pocket
|
||||
Tile -[#000082,plain]-^ Cell
|
||||
TilePanningTransition "1" *-[#595959,plain]-> "board\n1" Board
|
||||
@enduml
|
393
Documentation/DiagrammeUML/Game/Diagram_game.svg
Normal file
@@ -0,0 +1,393 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1840pt" height="1437pt" viewBox="0.00 0.00 1840.22 1436.60">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1432.6)">
|
||||
<title>package</title>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-1432.6 1836.22,-1432.6 1836.22,4 -4,4"/>
|
||||
<!-- Board -->
|
||||
<g id="node1" class="node">
|
||||
<title>Board</title>
|
||||
<polygon fill="none" stroke="black" points="978.31,-892.1 978.31,-1428.1 1233.16,-1428.1 1233.16,-892.1 978.31,-892.1"/>
|
||||
<text text-anchor="middle" x="1105.73" y="-1411.5" font-family="Times,serif" font-size="14.00">Board</text>
|
||||
<polyline fill="none" stroke="black" points="978.31,-1403.3 1233.16,-1403.3"/>
|
||||
<text text-anchor="start" x="986.31" y="-1386.7" font-family="Times,serif" font-size="14.00">- offsetX : int</text>
|
||||
<text text-anchor="start" x="986.31" y="-1369.9" font-family="Times,serif" font-size="14.00"> - random : Random</text>
|
||||
<text text-anchor="start" x="986.31" y="-1353.1" font-family="Times,serif" font-size="14.00"> - zoomFactor : double</text>
|
||||
<text text-anchor="start" x="986.31" y="-1336.3" font-family="Times,serif" font-size="14.00"> - game : Game</text>
|
||||
<text text-anchor="start" x="986.31" y="-1319.5" font-family="Times,serif" font-size="14.00"> - nextTile : Tile</text>
|
||||
<text text-anchor="start" x="986.31" y="-1302.7" font-family="Times,serif" font-size="14.00"> - offsetY : int</text>
|
||||
<text text-anchor="start" x="986.31" y="-1285.9" font-family="Times,serif" font-size="14.00"> - controlsMenu : GameControlsMenu</text>
|
||||
<polyline fill="none" stroke="black" points="978.31,-1277.7 1233.16,-1277.7"/>
|
||||
<text text-anchor="start" x="986.31" y="-1261.1" font-family="Times,serif" font-size="14.00">+ handleSpaceKeyPress() : void</text>
|
||||
<text text-anchor="start" x="986.31" y="-1244.3" font-family="Times,serif" font-size="14.00"> + zoomIn() : void</text>
|
||||
<text text-anchor="start" x="986.31" y="-1227.5" font-family="Times,serif" font-size="14.00"> + moveBoard(int, int) : void</text>
|
||||
<text text-anchor="start" x="986.31" y="-1210.7" font-family="Times,serif" font-size="14.00"> + zoomOut() : void</text>
|
||||
<text text-anchor="start" x="986.31" y="-1193.9" font-family="Times,serif" font-size="14.00"> - initializeNextTile() : void</text>
|
||||
<text text-anchor="start" x="986.31" y="-1177.1" font-family="Times,serif" font-size="14.00"> - calculateAvailablePositions(Tile) : void</text>
|
||||
<text text-anchor="start" x="986.31" y="-1160.3" font-family="Times,serif" font-size="14.00"> + handleMouseMove(MouseEvent) : void</text>
|
||||
<text text-anchor="start" x="986.31" y="-1143.5" font-family="Times,serif" font-size="14.00"> - isTileAtPosition(Point) : boolean</text>
|
||||
<text text-anchor="start" x="986.31" y="-1126.7" font-family="Times,serif" font-size="14.00"> + handleMouseClick(MouseEvent) : void</text>
|
||||
<text text-anchor="start" x="986.31" y="-1109.9" font-family="Times,serif" font-size="14.00"> + paintComponent(Graphics) : void</text>
|
||||
<text text-anchor="start" x="986.31" y="-1093.1" font-family="Times,serif" font-size="14.00"> + autoReFocus(Tile) : void</text>
|
||||
<text text-anchor="start" x="986.31" y="-1076.3" font-family="Times,serif" font-size="14.00"> + getTileAt(int, int) : Tile</text>
|
||||
<text text-anchor="start" x="986.31" y="-1059.5" font-family="Times,serif" font-size="14.00"> - initializeCentralTile() : void</text>
|
||||
<text text-anchor="start" x="986.31" y="-1042.7" font-family="Times,serif" font-size="14.00"> + placeTileAtPosition(Point) : void</text>
|
||||
<text text-anchor="start" x="986.31" y="-1025.9" font-family="Times,serif" font-size="14.00"> + addTile(Tile) : void</text>
|
||||
<polyline fill="none" stroke="black" points="978.31,-1017.7 1233.16,-1017.7"/>
|
||||
<text text-anchor="start" x="986.31" y="-1001.1" font-family="Times,serif" font-size="14.00">random : Random</text>
|
||||
<text text-anchor="start" x="986.31" y="-984.3" font-family="Times,serif" font-size="14.00"> zoomFactor : double</text>
|
||||
<text text-anchor="start" x="986.31" y="-967.5" font-family="Times,serif" font-size="14.00"> controlsMenu : GameControlsMenu</text>
|
||||
<text text-anchor="start" x="986.31" y="-950.7" font-family="Times,serif" font-size="14.00"> nextTile : Tile</text>
|
||||
<text text-anchor="start" x="986.31" y="-933.9" font-family="Times,serif" font-size="14.00"> offsetX : int</text>
|
||||
<text text-anchor="start" x="986.31" y="-917.1" font-family="Times,serif" font-size="14.00"> game : Game</text>
|
||||
<text text-anchor="start" x="986.31" y="-900.3" font-family="Times,serif" font-size="14.00"> offsetY : int</text>
|
||||
</g>
|
||||
<!-- CustomKeyAdapter -->
|
||||
<g id="node3" class="node">
|
||||
<title>CustomKeyAdapter</title>
|
||||
<polygon fill="none" stroke="black" points="0,-747.1 0,-796.7 191.46,-796.7 191.46,-747.1 0,-747.1"/>
|
||||
<text text-anchor="middle" x="95.73" y="-780.1" font-family="Times,serif" font-size="14.00">CustomKeyAdapter</text>
|
||||
<polyline fill="none" stroke="black" points="0,-771.9 191.46,-771.9"/>
|
||||
<text text-anchor="start" x="8" y="-755.3" font-family="Times,serif" font-size="14.00">+ keyPressed(KeyEvent) : void</text>
|
||||
</g>
|
||||
<!-- Board->CustomKeyAdapter -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Board->CustomKeyAdapter</title>
|
||||
<path fill="none" stroke="#595959" stroke-dasharray="5,2" d="M977.97,-1361.48C699.75,-1361.48 63.82,-1361.48 63.82,-1361.48 63.82,-1361.48 63.82,-808.08 63.82,-808.08"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="63.82,-798.08 68.32,-808.08 63.82,-801.86 63.82,-808.08 63.82,-808.08 63.82,-808.08 63.82,-801.86 59.32,-808.08 63.82,-798.08"/>
|
||||
<text text-anchor="middle" x="126.44" y="-861" font-family="Times,serif" font-size="14.00">«create»</text>
|
||||
</g>
|
||||
<!-- CustomMouseMotionAdapter -->
|
||||
<g id="node4" class="node">
|
||||
<title>CustomMouseMotionAdapter</title>
|
||||
<polygon fill="none" stroke="black" points="208.99,-747.1 208.99,-796.7 428.47,-796.7 428.47,-747.1 208.99,-747.1"/>
|
||||
<text text-anchor="middle" x="318.73" y="-780.1" font-family="Times,serif" font-size="14.00">CustomMouseMotionAdapter</text>
|
||||
<polyline fill="none" stroke="black" points="208.99,-771.9 428.47,-771.9"/>
|
||||
<text text-anchor="start" x="216.99" y="-755.3" font-family="Times,serif" font-size="14.00">+ mouseMoved(MouseEvent) : void</text>
|
||||
</g>
|
||||
<!-- Board->CustomMouseMotionAdapter -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Board->CustomMouseMotionAdapter</title>
|
||||
<path fill="none" stroke="#595959" stroke-dasharray="5,2" d="M977.95,-1227.23C746.62,-1227.23 282.15,-1227.23 282.15,-1227.23 282.15,-1227.23 282.15,-808.25 282.15,-808.25"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="282.15,-798.25 286.65,-808.25 282.15,-802.03 282.15,-808.25 282.15,-808.25 282.15,-808.25 282.15,-802.03 277.65,-808.25 282.15,-798.25"/>
|
||||
<text text-anchor="middle" x="602.44" y="-861" font-family="Times,serif" font-size="14.00">«create»</text>
|
||||
</g>
|
||||
<!-- Game -->
|
||||
<g id="node6" class="node">
|
||||
<title>Game</title>
|
||||
<polygon fill="none" stroke="black" points="446.1,-747.1 446.1,-796.7 603.36,-796.7 603.36,-747.1 446.1,-747.1"/>
|
||||
<text text-anchor="middle" x="524.73" y="-780.1" font-family="Times,serif" font-size="14.00">Game</text>
|
||||
<polyline fill="none" stroke="black" points="446.1,-771.9 603.36,-771.9"/>
|
||||
<text text-anchor="start" x="454.1" y="-755.3" font-family="Times,serif" font-size="14.00">+ getRandomInt(int) : int</text>
|
||||
</g>
|
||||
<!-- Board->Game -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Board->Game</title>
|
||||
<path fill="none" stroke="#595959" d="M965.05,-1025.85C965.05,-1025.85 550.94,-1025.85 550.94,-1025.85 550.94,-1025.85 550.94,-808.4 550.94,-808.4"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="965.2,-1025.85 971.2,-1021.85 977.2,-1025.85 971.2,-1029.85 965.2,-1025.85"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="550.94,-798.4 555.44,-808.4 550.94,-802.18 550.94,-808.4 550.94,-808.4 550.94,-808.4 550.94,-802.18 546.44,-808.4 550.94,-798.4"/>
|
||||
<text text-anchor="middle" x="535.78" y="-818.18" font-family="Times,serif" font-size="14.00">game</text>
|
||||
<text text-anchor="middle" x="535.78" y="-801.38" font-family="Times,serif" font-size="14.00">1</text>
|
||||
<text text-anchor="middle" x="974.6" y="-1030.05" font-family="Times,serif" font-size="14.00">1</text>
|
||||
</g>
|
||||
<!-- Board->Game -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>Board->Game</title>
|
||||
<path fill="none" stroke="#595959" stroke-dasharray="5,2" d="M978.07,-1092.98C799.97,-1092.98 498.52,-1092.98 498.52,-1092.98 498.52,-1092.98 498.52,-808.31 498.52,-808.31"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="498.52,-798.31 503.02,-808.31 498.52,-802.09 498.52,-808.31 498.52,-808.31 498.52,-808.31 498.52,-802.09 494.02,-808.31 498.52,-798.31"/>
|
||||
<text text-anchor="middle" x="834.44" y="-861" font-family="Times,serif" font-size="14.00">«create»</text>
|
||||
</g>
|
||||
<!-- PauseGame -->
|
||||
<g id="node7" class="node">
|
||||
<title>PauseGame</title>
|
||||
<polygon fill="none" stroke="black" points="621,-747.1 621,-796.7 812.46,-796.7 812.46,-747.1 621,-747.1"/>
|
||||
<text text-anchor="middle" x="716.73" y="-780.1" font-family="Times,serif" font-size="14.00">PauseGame</text>
|
||||
<polyline fill="none" stroke="black" points="621,-771.9 812.46,-771.9"/>
|
||||
<text text-anchor="start" x="629" y="-755.3" font-family="Times,serif" font-size="14.00">+ keyPressed(KeyEvent) : void</text>
|
||||
</g>
|
||||
<!-- Board->PauseGame -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>Board->PauseGame</title>
|
||||
<path fill="none" stroke="#595959" stroke-dasharray="5,2" d="M977.82,-958.73C864.44,-958.73 716.73,-958.73 716.73,-958.73 716.73,-958.73 716.73,-808.31 716.73,-808.31"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="716.73,-798.31 721.23,-808.31 716.73,-802.1 716.73,-808.31 716.73,-808.31 716.73,-808.31 716.73,-802.1 712.23,-808.31 716.73,-798.31"/>
|
||||
<text text-anchor="middle" x="912.44" y="-861" font-family="Times,serif" font-size="14.00">«create»</text>
|
||||
</g>
|
||||
<!-- RemainingTilesIndicator -->
|
||||
<g id="node9" class="node">
|
||||
<title>RemainingTilesIndicator</title>
|
||||
<polygon fill="none" stroke="black" points="830.43,-705.5 830.43,-838.3 1089.04,-838.3 1089.04,-705.5 830.43,-705.5"/>
|
||||
<text text-anchor="middle" x="959.73" y="-821.7" font-family="Times,serif" font-size="14.00">RemainingTilesIndicator</text>
|
||||
<polyline fill="none" stroke="black" points="830.43,-813.5 1089.04,-813.5"/>
|
||||
<text text-anchor="start" x="838.43" y="-796.9" font-family="Times,serif" font-size="14.00">- remainingTiles : int</text>
|
||||
<polyline fill="none" stroke="black" points="830.43,-788.7 1089.04,-788.7"/>
|
||||
<text text-anchor="start" x="838.43" y="-772.1" font-family="Times,serif" font-size="14.00">+ draw(Graphics, int, int) : void</text>
|
||||
<text text-anchor="start" x="838.43" y="-755.3" font-family="Times,serif" font-size="14.00"> - createHexagon(int, int, int, int) : Polygon</text>
|
||||
<polyline fill="none" stroke="black" points="830.43,-747.1 1089.04,-747.1"/>
|
||||
<text text-anchor="start" x="838.43" y="-730.5" font-family="Times,serif" font-size="14.00">totalHeight : int</text>
|
||||
<text text-anchor="start" x="838.43" y="-713.7" font-family="Times,serif" font-size="14.00"> remainingTiles : int</text>
|
||||
</g>
|
||||
<!-- Board->RemainingTilesIndicator -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>Board->RemainingTilesIndicator</title>
|
||||
<path fill="none" stroke="#595959" stroke-dasharray="5,2" d="M1052.13,-891.81C1052.13,-891.81 1052.13,-849.78 1052.13,-849.78"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1052.13,-839.78 1056.63,-849.78 1052.13,-843.56 1052.13,-849.78 1052.13,-849.78 1052.13,-849.78 1052.13,-843.56 1047.63,-849.78 1052.13,-839.78"/>
|
||||
<text text-anchor="middle" x="986.44" y="-861" font-family="Times,serif" font-size="14.00">«create»</text>
|
||||
</g>
|
||||
<!-- Board->RemainingTilesIndicator -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>Board->RemainingTilesIndicator</title>
|
||||
<path fill="none" stroke="#595959" d="M1015.22,-878.75C1015.22,-878.75 1015.22,-849.78 1015.22,-849.78"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1015.22,-878.9 1019.22,-884.9 1015.22,-890.9 1011.22,-884.9 1015.22,-878.9"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1015.22,-839.78 1019.72,-849.78 1015.22,-843.56 1015.22,-849.78 1015.22,-849.78 1015.22,-849.78 1015.22,-843.56 1010.72,-849.78 1015.22,-839.78"/>
|
||||
<text text-anchor="middle" x="1082.86" y="-859.56" font-family="Times,serif" font-size="14.00">remainingTilesIndicator</text>
|
||||
<text text-anchor="middle" x="1082.86" y="-842.76" font-family="Times,serif" font-size="14.00">1</text>
|
||||
<text text-anchor="middle" x="1011.72" y="-879.21" font-family="Times,serif" font-size="14.00">1</text>
|
||||
</g>
|
||||
<!-- ScoreDisplay -->
|
||||
<g id="node10" class="node">
|
||||
<title>ScoreDisplay</title>
|
||||
<polygon fill="none" stroke="black" points="1107.48,-713.9 1107.48,-829.9 1277.99,-829.9 1277.99,-713.9 1107.48,-713.9"/>
|
||||
<text text-anchor="middle" x="1192.73" y="-813.3" font-family="Times,serif" font-size="14.00">ScoreDisplay</text>
|
||||
<polyline fill="none" stroke="black" points="1107.48,-805.1 1277.99,-805.1"/>
|
||||
<text text-anchor="start" x="1115.48" y="-788.5" font-family="Times,serif" font-size="14.00">- score : int</text>
|
||||
<polyline fill="none" stroke="black" points="1107.48,-780.3 1277.99,-780.3"/>
|
||||
<text text-anchor="start" x="1115.48" y="-763.7" font-family="Times,serif" font-size="14.00">+ setPosition(int, int) : void</text>
|
||||
<text text-anchor="start" x="1115.48" y="-746.9" font-family="Times,serif" font-size="14.00"> + draw(Graphics) : void</text>
|
||||
<polyline fill="none" stroke="black" points="1107.48,-738.7 1277.99,-738.7"/>
|
||||
<text text-anchor="start" x="1115.48" y="-722.1" font-family="Times,serif" font-size="14.00">score : int</text>
|
||||
</g>
|
||||
<!-- Board->ScoreDisplay -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>Board->ScoreDisplay</title>
|
||||
<path fill="none" stroke="#595959" stroke-dasharray="5,2" d="M1170.32,-891.81C1170.32,-891.81 1170.32,-841.49 1170.32,-841.49"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1170.32,-831.49 1174.82,-841.49 1170.32,-835.27 1170.32,-841.49 1170.32,-841.49 1170.32,-841.49 1170.32,-835.27 1165.82,-841.49 1170.32,-831.49"/>
|
||||
<text text-anchor="middle" x="1133.44" y="-861" font-family="Times,serif" font-size="14.00">«create»</text>
|
||||
</g>
|
||||
<!-- Board->ScoreDisplay -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>Board->ScoreDisplay</title>
|
||||
<path fill="none" stroke="#595959" d="M1138.9,-878.75C1138.9,-878.75 1138.9,-841.49 1138.9,-841.49"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1138.9,-878.9 1142.9,-884.9 1138.9,-890.9 1134.9,-884.9 1138.9,-878.9"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1138.9,-831.49 1143.4,-841.49 1138.9,-835.27 1138.9,-841.49 1138.9,-841.49 1138.9,-841.49 1138.9,-835.27 1134.4,-841.49 1138.9,-831.49"/>
|
||||
<text text-anchor="middle" x="1175.44" y="-851.27" font-family="Times,serif" font-size="14.00">scoreDisplay</text>
|
||||
<text text-anchor="middle" x="1175.44" y="-834.47" font-family="Times,serif" font-size="14.00">1</text>
|
||||
<text text-anchor="middle" x="1135.4" y="-879.21" font-family="Times,serif" font-size="14.00">1</text>
|
||||
</g>
|
||||
<!-- ScoreManager -->
|
||||
<g id="node11" class="node">
|
||||
<title>ScoreManager</title>
|
||||
<polygon fill="none" stroke="black" points="1295.87,-705.5 1295.87,-838.3 1557.59,-838.3 1557.59,-705.5 1295.87,-705.5"/>
|
||||
<text text-anchor="middle" x="1426.73" y="-821.7" font-family="Times,serif" font-size="14.00">ScoreManager</text>
|
||||
<polyline fill="none" stroke="black" points="1295.87,-813.5 1557.59,-813.5"/>
|
||||
<text text-anchor="start" x="1303.87" y="-796.9" font-family="Times,serif" font-size="14.00">- currentScore : int</text>
|
||||
<polyline fill="none" stroke="black" points="1295.87,-788.7 1557.59,-788.7"/>
|
||||
<text text-anchor="start" x="1303.87" y="-772.1" font-family="Times,serif" font-size="14.00">- recalculateScore() : void</text>
|
||||
<text text-anchor="start" x="1303.87" y="-755.3" font-family="Times,serif" font-size="14.00"> - findPocketForTile(Tile, Biome) : Pocket?</text>
|
||||
<text text-anchor="start" x="1303.87" y="-738.5" font-family="Times,serif" font-size="14.00"> + addTile(Tile) : void</text>
|
||||
<polyline fill="none" stroke="black" points="1295.87,-730.3 1557.59,-730.3"/>
|
||||
<text text-anchor="start" x="1303.87" y="-713.7" font-family="Times,serif" font-size="14.00">currentScore : int</text>
|
||||
</g>
|
||||
<!-- Board->ScoreManager -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>Board->ScoreManager</title>
|
||||
<path fill="none" stroke="#595959" stroke-dasharray="5,2" d="M1201.74,-891.71C1201.74,-858.53 1201.74,-836 1201.74,-836 1201.74,-836 1284.31,-836 1284.31,-836"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1294.31,-836 1284.31,-840.5 1290.53,-836 1284.31,-836 1284.31,-836 1284.31,-836 1290.53,-836 1284.31,-831.5 1294.31,-836"/>
|
||||
<text text-anchor="middle" x="1274.44" y="-861" font-family="Times,serif" font-size="14.00">«create»</text>
|
||||
</g>
|
||||
<!-- Board->ScoreManager -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>Board->ScoreManager</title>
|
||||
<path fill="none" stroke="#595959" d="M1103.79,-878.59C1103.79,-878.59 1103.79,-833.2 1103.79,-833.2 1103.79,-833.2 1284.16,-833.2 1284.16,-833.2"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1103.79,-878.74 1107.79,-884.74 1103.79,-890.74 1099.79,-884.74 1103.79,-878.74"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1294.16,-833.2 1284.16,-837.7 1290.38,-833.2 1284.16,-833.2 1284.16,-833.2 1284.16,-833.2 1290.38,-833.2 1284.16,-828.7 1294.16,-833.2"/>
|
||||
<text text-anchor="middle" x="1255.73" y="-854.2" font-family="Times,serif" font-size="14.00">scoreManager</text>
|
||||
<text text-anchor="middle" x="1255.73" y="-837.4" font-family="Times,serif" font-size="14.00">1</text>
|
||||
<text text-anchor="middle" x="1100.29" y="-879.04" font-family="Times,serif" font-size="14.00">1</text>
|
||||
</g>
|
||||
<!-- Tile -->
|
||||
<g id="node12" class="node">
|
||||
<title>Tile</title>
|
||||
<polygon fill="none" stroke="black" points="1471.54,-238.5 1471.54,-464.1 1737.93,-464.1 1737.93,-238.5 1471.54,-238.5"/>
|
||||
<text text-anchor="middle" x="1604.73" y="-447.5" font-family="Times,serif" font-size="14.00">Tile</text>
|
||||
<polyline fill="none" stroke="black" points="1471.54,-439.3 1737.93,-439.3"/>
|
||||
<text text-anchor="start" x="1479.54" y="-422.7" font-family="Times,serif" font-size="14.00">+ determineSide(int, int) : TileOrientation</text>
|
||||
<text text-anchor="start" x="1479.54" y="-405.9" font-family="Times,serif" font-size="14.00"> + getBiome(TileOrientation) : Biome</text>
|
||||
<text text-anchor="start" x="1479.54" y="-389.1" font-family="Times,serif" font-size="14.00"> + getNeighbor(TileOrientation) : Tile</text>
|
||||
<text text-anchor="start" x="1479.54" y="-372.3" font-family="Times,serif" font-size="14.00"> + containsBiome(Biome) : boolean</text>
|
||||
<text text-anchor="start" x="1479.54" y="-355.5" font-family="Times,serif" font-size="14.00"> + assignRandomBiomes() : void</text>
|
||||
<text text-anchor="start" x="1479.54" y="-338.7" font-family="Times,serif" font-size="14.00"> # drawTileAt(Graphics, int, int, float) : void</text>
|
||||
<text text-anchor="start" x="1479.54" y="-321.9" font-family="Times,serif" font-size="14.00"> # paintTile(Graphics, float) : void</text>
|
||||
<text text-anchor="start" x="1479.54" y="-305.1" font-family="Times,serif" font-size="14.00"> + isAdjacentTo(Tile) : boolean</text>
|
||||
<text text-anchor="start" x="1479.54" y="-288.3" font-family="Times,serif" font-size="14.00"> + rotate(boolean) : void</text>
|
||||
<polyline fill="none" stroke="black" points="1471.54,-280.1 1737.93,-280.1"/>
|
||||
<text text-anchor="start" x="1479.54" y="-263.5" font-family="Times,serif" font-size="14.00">biomes : Biome[]</text>
|
||||
<text text-anchor="start" x="1479.54" y="-246.7" font-family="Times,serif" font-size="14.00"> dominantBiome : Biome</text>
|
||||
</g>
|
||||
<!-- Board->Tile -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>Board->Tile</title>
|
||||
<path fill="none" stroke="#595959" d="M1096.41,-878.61C1096.41,-878.61 1096.41,-313.53 1096.41,-313.53 1096.41,-313.53 1096.41,-302.31 1096.41,-302.31"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1096.41,-878.76 1100.41,-884.76 1096.41,-890.76 1092.41,-884.76 1096.41,-878.76"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1469.96,-313.5 1459.83,-317.7 1466.18,-313.38 1459.96,-313.2 1459.96,-313.2 1459.96,-313.2 1466.18,-313.38 1460.1,-308.7 1469.96,-313.5"/>
|
||||
<text text-anchor="middle" x="1459.51" y="-334.53" font-family="Times,serif" font-size="14.00">tiles</text>
|
||||
<text text-anchor="middle" x="1459.51" y="-317.73" font-family="Times,serif" font-size="14.00">*</text>
|
||||
<text text-anchor="middle" x="1092.91" y="-879.06" font-family="Times,serif" font-size="14.00">1</text>
|
||||
</g>
|
||||
<!-- Board->Tile -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>Board->Tile</title>
|
||||
<path fill="none" stroke="#595959" stroke-dasharray="5,2" d="M1100.1,-891.78C1100.1,-669.22 1100.1,-389.07 1100.1,-389.07 1100.1,-389.07 1459.94,-389.07 1459.94,-389.07"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1469.94,-389.07 1459.94,-393.57 1466.16,-389.07 1459.94,-389.07 1459.94,-389.07 1459.94,-389.07 1466.16,-389.07 1459.94,-384.57 1469.94,-389.07"/>
|
||||
<text text-anchor="middle" x="1647.44" y="-674.4" font-family="Times,serif" font-size="14.00">«create»</text>
|
||||
</g>
|
||||
<!-- TilePanningTransition -->
|
||||
<g id="node13" class="node">
|
||||
<title>TilePanningTransition</title>
|
||||
<polygon fill="none" stroke="black" points="1651.74,-747.1 1651.74,-796.7 1793.72,-796.7 1793.72,-747.1 1651.74,-747.1"/>
|
||||
<text text-anchor="middle" x="1722.73" y="-780.1" font-family="Times,serif" font-size="14.00">TilePanningTransition</text>
|
||||
<polyline fill="none" stroke="black" points="1651.74,-771.9 1793.72,-771.9"/>
|
||||
<text text-anchor="start" x="1659.74" y="-755.3" font-family="Times,serif" font-size="14.00">+ start() : void</text>
|
||||
</g>
|
||||
<!-- Board->TilePanningTransition -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>Board->TilePanningTransition</title>
|
||||
<path fill="none" stroke="#595959" stroke-dasharray="5,2" d="M1233.46,-1249.6C1420.36,-1249.6 1746.4,-1249.6 1746.4,-1249.6 1746.4,-1249.6 1746.4,-808.13 1746.4,-808.13"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1746.4,-798.13 1750.9,-808.13 1746.4,-801.91 1746.4,-808.13 1746.4,-808.13 1746.4,-808.13 1746.4,-801.91 1741.9,-808.13 1746.4,-798.13"/>
|
||||
<text text-anchor="middle" x="1681.44" y="-861" font-family="Times,serif" font-size="14.00">«create»</text>
|
||||
</g>
|
||||
<!-- Cell -->
|
||||
<g id="node2" class="node">
|
||||
<title>Cell</title>
|
||||
<polygon fill="none" stroke="black" points="1613.25,-0.5 1613.25,-200.5 1832.22,-200.5 1832.22,-0.5 1613.25,-0.5"/>
|
||||
<text text-anchor="middle" x="1722.73" y="-183.9" font-family="Times,serif" font-size="14.00">Cell</text>
|
||||
<polyline fill="none" stroke="black" points="1613.25,-175.7 1832.22,-175.7"/>
|
||||
<text text-anchor="start" x="1621.25" y="-159.1" font-family="Times,serif" font-size="14.00">+ radius : int</text>
|
||||
<text text-anchor="start" x="1621.25" y="-142.3" font-family="Times,serif" font-size="14.00"> - board : Board</text>
|
||||
<polyline fill="none" stroke="black" points="1613.25,-134.1 1832.22,-134.1"/>
|
||||
<text text-anchor="start" x="1621.25" y="-117.5" font-family="Times,serif" font-size="14.00">+ setPosition(int, int) : void</text>
|
||||
<text text-anchor="start" x="1621.25" y="-100.7" font-family="Times,serif" font-size="14.00"> # paintComponent(Graphics) : void</text>
|
||||
<text text-anchor="start" x="1621.25" y="-83.9" font-family="Times,serif" font-size="14.00"> + to360Degrees(double) : double</text>
|
||||
<polyline fill="none" stroke="black" points="1613.25,-75.7 1832.22,-75.7"/>
|
||||
<text text-anchor="start" x="1621.25" y="-59.1" font-family="Times,serif" font-size="14.00">XCoord : int</text>
|
||||
<text text-anchor="start" x="1621.25" y="-42.3" font-family="Times,serif" font-size="14.00"> board : Board</text>
|
||||
<text text-anchor="start" x="1621.25" y="-25.5" font-family="Times,serif" font-size="14.00"> YCoord : int</text>
|
||||
<text text-anchor="start" x="1621.25" y="-8.7" font-family="Times,serif" font-size="14.00"> radius : int</text>
|
||||
</g>
|
||||
<!-- Cell->Board -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>Cell->Board</title>
|
||||
<path fill="none" stroke="#595959" d="M1599.94,-100.5C1599.94,-100.5 1092.73,-100.5 1092.73,-100.5 1092.73,-100.5 1092.73,-880.47 1092.73,-880.47"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1600.09,-100.5 1606.09,-96.5 1612.09,-100.5 1606.09,-104.5 1600.09,-100.5"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1092.73,-890.47 1088.23,-880.47 1092.73,-886.69 1092.73,-880.47 1092.73,-880.47 1092.73,-880.47 1092.73,-886.69 1097.23,-880.47 1092.73,-890.47"/>
|
||||
<text text-anchor="middle" x="1076.79" y="-879.09" font-family="Times,serif" font-size="14.00">board</text>
|
||||
<text text-anchor="middle" x="1076.79" y="-862.29" font-family="Times,serif" font-size="14.00">1</text>
|
||||
<text text-anchor="middle" x="1609.49" y="-104.7" font-family="Times,serif" font-size="14.00">1</text>
|
||||
</g>
|
||||
<!-- CustomKeyAdapter->Board -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>CustomKeyAdapter->Board</title>
|
||||
<path fill="none" stroke="#595959" d="M127.64,-810.15C127.64,-810.15 127.64,-1294.35 127.64,-1294.35 127.64,-1294.35 966.65,-1294.35 966.65,-1294.35"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="127.64,-810 123.64,-804 127.64,-798 131.64,-804 127.64,-810"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="976.65,-1294.35 966.65,-1298.85 972.86,-1294.35 966.65,-1294.35 966.65,-1294.35 966.65,-1294.35 972.86,-1294.35 966.65,-1289.85 976.65,-1294.35"/>
|
||||
<text text-anchor="middle" x="961.93" y="-1315.35" font-family="Times,serif" font-size="14.00">board</text>
|
||||
<text text-anchor="middle" x="961.93" y="-1298.55" font-family="Times,serif" font-size="14.00">1</text>
|
||||
<text text-anchor="middle" x="124.14" y="-801.3" font-family="Times,serif" font-size="14.00">1</text>
|
||||
</g>
|
||||
<!-- CustomMouseMotionAdapter->Board -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>CustomMouseMotionAdapter->Board</title>
|
||||
<path fill="none" stroke="#595959" d="M355.31,-810.12C355.31,-810.12 355.31,-1160.1 355.31,-1160.1 355.31,-1160.1 966.79,-1160.1 966.79,-1160.1"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="355.31,-809.97 351.31,-803.97 355.31,-797.97 359.31,-803.97 355.31,-809.97"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="976.79,-1160.1 966.79,-1164.6 973.01,-1160.1 966.79,-1160.1 966.79,-1160.1 966.79,-1160.1 973.01,-1160.1 966.79,-1155.6 976.79,-1160.1"/>
|
||||
<text text-anchor="middle" x="962.07" y="-1181.1" font-family="Times,serif" font-size="14.00">board</text>
|
||||
<text text-anchor="middle" x="962.07" y="-1164.3" font-family="Times,serif" font-size="14.00">1</text>
|
||||
<text text-anchor="middle" x="351.81" y="-801.27" font-family="Times,serif" font-size="14.00">1</text>
|
||||
</g>
|
||||
<!-- EscapeMenu -->
|
||||
<g id="node5" class="node">
|
||||
<title>EscapeMenu</title>
|
||||
<polygon fill="none" stroke="black" points="597.17,-514.5 597.17,-639.3 838.3,-639.3 838.3,-514.5 597.17,-514.5"/>
|
||||
<text text-anchor="middle" x="717.73" y="-622.7" font-family="Times,serif" font-size="14.00">EscapeMenu</text>
|
||||
<polyline fill="none" stroke="black" points="597.17,-614.5 838.3,-614.5"/>
|
||||
<text text-anchor="start" x="605.17" y="-597.9" font-family="Times,serif" font-size="14.00">- createButton(String) : JButton</text>
|
||||
<polyline fill="none" stroke="black" points="597.17,-589.7 838.3,-589.7"/>
|
||||
<text text-anchor="start" x="605.17" y="-573.1" font-family="Times,serif" font-size="14.00">menuVisible : boolean</text>
|
||||
<text text-anchor="start" x="605.17" y="-556.3" font-family="Times,serif" font-size="14.00"> settingsButtonListener : ActionListener</text>
|
||||
<text text-anchor="start" x="605.17" y="-539.5" font-family="Times,serif" font-size="14.00"> resumeButtonListener : ActionListener</text>
|
||||
<text text-anchor="start" x="605.17" y="-522.7" font-family="Times,serif" font-size="14.00"> quitButtonListener : ActionListener</text>
|
||||
</g>
|
||||
<!-- PauseGame->EscapeMenu -->
|
||||
<g id="edge18" class="edge">
|
||||
<title>PauseGame->EscapeMenu</title>
|
||||
<path fill="none" stroke="#595959" d="M684.82,-733.75C684.82,-733.75 684.82,-650.81 684.82,-650.81"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="684.82,-733.9 688.82,-739.91 684.82,-745.9 680.82,-739.9 684.82,-733.9"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="684.82,-640.81 689.32,-650.81 684.82,-644.59 684.82,-650.81 684.82,-650.81 684.82,-650.81 684.82,-644.59 680.32,-650.81 684.82,-640.81"/>
|
||||
<text text-anchor="middle" x="649.84" y="-660.59" font-family="Times,serif" font-size="14.00">escapeMenu</text>
|
||||
<text text-anchor="middle" x="649.84" y="-643.79" font-family="Times,serif" font-size="14.00">1</text>
|
||||
<text text-anchor="middle" x="681.32" y="-734.21" font-family="Times,serif" font-size="14.00">1</text>
|
||||
</g>
|
||||
<!-- PauseGame->EscapeMenu -->
|
||||
<g id="edge19" class="edge">
|
||||
<title>PauseGame->EscapeMenu</title>
|
||||
<path fill="none" stroke="#595959" stroke-dasharray="5,2" d="M748.64,-746.81C748.64,-746.81 748.64,-650.81 748.64,-650.81"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="748.64,-640.81 753.14,-650.81 748.64,-644.59 748.64,-650.81 748.64,-650.81 748.64,-650.81 748.64,-644.59 744.14,-650.81 748.64,-640.81"/>
|
||||
<text text-anchor="middle" x="757.44" y="-674.4" font-family="Times,serif" font-size="14.00">«create»</text>
|
||||
</g>
|
||||
<!-- Pocket -->
|
||||
<g id="node8" class="node">
|
||||
<title>Pocket</title>
|
||||
<polygon fill="none" stroke="black" points="1419.83,-502.1 1419.83,-651.7 1557.63,-651.7 1557.63,-502.1 1419.83,-502.1"/>
|
||||
<text text-anchor="middle" x="1488.73" y="-635.1" font-family="Times,serif" font-size="14.00">Pocket</text>
|
||||
<polyline fill="none" stroke="black" points="1419.83,-626.9 1557.63,-626.9"/>
|
||||
<text text-anchor="start" x="1427.83" y="-610.3" font-family="Times,serif" font-size="14.00">- biome : Biome</text>
|
||||
<text text-anchor="start" x="1427.83" y="-593.5" font-family="Times,serif" font-size="14.00"> - tiles : Set<Tile></text>
|
||||
<polyline fill="none" stroke="black" points="1419.83,-585.3 1557.63,-585.3"/>
|
||||
<text text-anchor="start" x="1427.83" y="-568.7" font-family="Times,serif" font-size="14.00">+ addTile(Tile) : void</text>
|
||||
<polyline fill="none" stroke="black" points="1419.83,-560.5 1557.63,-560.5"/>
|
||||
<text text-anchor="start" x="1427.83" y="-543.9" font-family="Times,serif" font-size="14.00">tiles : Set<Tile></text>
|
||||
<text text-anchor="start" x="1427.83" y="-527.1" font-family="Times,serif" font-size="14.00"> size : int</text>
|
||||
<text text-anchor="start" x="1427.83" y="-510.3" font-family="Times,serif" font-size="14.00"> biome : Biome</text>
|
||||
</g>
|
||||
<!-- Pocket->Tile -->
|
||||
<g id="edge20" class="edge">
|
||||
<title>Pocket->Tile</title>
|
||||
<path fill="none" stroke="#595959" d="M1514.59,-488.73C1514.59,-488.73 1514.59,-475.55 1514.59,-475.55"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1514.59,-488.88 1518.59,-494.88 1514.59,-500.88 1510.59,-494.88 1514.59,-488.88"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1514.59,-465.55 1519.09,-475.55 1514.59,-469.33 1514.59,-475.55 1514.59,-475.55 1514.59,-475.55 1514.59,-469.33 1510.09,-475.55 1514.59,-465.55"/>
|
||||
<text text-anchor="middle" x="1526.25" y="-485.33" font-family="Times,serif" font-size="14.00">tiles</text>
|
||||
<text text-anchor="middle" x="1526.25" y="-468.53" font-family="Times,serif" font-size="14.00">*</text>
|
||||
<text text-anchor="middle" x="1511.09" y="-489.18" font-family="Times,serif" font-size="14.00">1</text>
|
||||
</g>
|
||||
<!-- ScoreManager->Pocket -->
|
||||
<g id="edge21" class="edge">
|
||||
<title>ScoreManager->Pocket</title>
|
||||
<path fill="none" stroke="#595959" stroke-dasharray="5,2" d="M1511.67,-705.06C1511.67,-705.06 1511.67,-663.23 1511.67,-663.23"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1511.67,-653.23 1516.17,-663.23 1511.67,-657.01 1511.67,-663.23 1511.67,-663.23 1511.67,-663.23 1511.67,-657.01 1507.17,-663.23 1511.67,-653.23"/>
|
||||
<text text-anchor="middle" x="1450.44" y="-674.4" font-family="Times,serif" font-size="14.00">«create»</text>
|
||||
</g>
|
||||
<!-- ScoreManager->Pocket -->
|
||||
<g id="edge22" class="edge">
|
||||
<title>ScoreManager->Pocket</title>
|
||||
<path fill="none" stroke="#595959" d="M1465.75,-692.01C1465.75,-692.01 1465.75,-663.23 1465.75,-663.23"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1465.75,-692.16 1469.75,-698.16 1465.75,-704.16 1461.75,-698.16 1465.75,-692.16"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1465.75,-653.23 1470.25,-663.23 1465.75,-657.01 1465.75,-663.23 1465.75,-663.23 1465.75,-663.23 1465.75,-657.01 1461.25,-663.23 1465.75,-653.23"/>
|
||||
<text text-anchor="middle" x="1487.13" y="-673.01" font-family="Times,serif" font-size="14.00">pockets</text>
|
||||
<text text-anchor="middle" x="1487.13" y="-656.21" font-family="Times,serif" font-size="14.00">*</text>
|
||||
<text text-anchor="middle" x="1462.25" y="-692.46" font-family="Times,serif" font-size="14.00">1</text>
|
||||
</g>
|
||||
<!-- Tile->Cell -->
|
||||
<g id="edge23" class="edge">
|
||||
<title>Tile->Cell</title>
|
||||
<path fill="none" stroke="#000082" d="M1675.59,-238.01C1675.59,-238.01 1675.59,-212.15 1675.59,-212.15"/>
|
||||
<polygon fill="#000082" stroke="#000082" points="1679.09,-212.15 1675.59,-202.15 1672.09,-212.15 1679.09,-212.15"/>
|
||||
</g>
|
||||
<!-- TilePanningTransition->Board -->
|
||||
<g id="edge24" class="edge">
|
||||
<title>TilePanningTransition->Board</title>
|
||||
<path fill="none" stroke="#595959" d="M1699.07,-810.16C1699.07,-810.16 1699.07,-1070.6 1699.07,-1070.6 1699.07,-1070.6 1244.6,-1070.6 1244.6,-1070.6"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1699.07,-810.01 1695.07,-804.01 1699.07,-798.01 1703.07,-804.01 1699.07,-810.01"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1234.6,-1070.6 1244.6,-1066.1 1238.38,-1070.6 1244.6,-1070.6 1244.6,-1070.6 1244.6,-1070.6 1238.38,-1070.6 1244.6,-1075.1 1234.6,-1070.6"/>
|
||||
<text text-anchor="middle" x="1249.32" y="-1091.6" font-family="Times,serif" font-size="14.00">board</text>
|
||||
<text text-anchor="middle" x="1249.32" y="-1074.8" font-family="Times,serif" font-size="14.00">1</text>
|
||||
<text text-anchor="middle" x="1695.57" y="-801.31" font-family="Times,serif" font-size="14.00">1</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 33 KiB |
BIN
Documentation/DiagrammeUML/Listeners/Diagram_listeners.png
Normal file
After Width: | Height: | Size: 874 KiB |
109
Documentation/DiagrammeUML/Listeners/Diagram_listeners.puml
Normal file
@@ -0,0 +1,109 @@
|
||||
@startuml listeners
|
||||
|
||||
!theme plain
|
||||
top to bottom direction
|
||||
skinparam linetype ortho
|
||||
|
||||
class CloseButtonListener {
|
||||
+ CloseButtonListener(MainMenu, JFrame):
|
||||
+ actionPerformed(ActionEvent): void
|
||||
}
|
||||
class CloseWindowListener {
|
||||
+ CloseWindowListener(MainMenu, JFrame):
|
||||
+ windowClosing(WindowEvent): void
|
||||
}
|
||||
class EscapeMenuCloseListener {
|
||||
+ EscapeMenuCloseListener():
|
||||
+ windowClosing(WindowEvent): void
|
||||
}
|
||||
class GameArrowKeyListener {
|
||||
+ GameArrowKeyListener(Board):
|
||||
+ keyPressed(KeyEvent): void
|
||||
}
|
||||
class GameMainMenuButtonListener {
|
||||
+ GameMainMenuButtonListener(JFrame):
|
||||
+ actionPerformed(ActionEvent): void
|
||||
}
|
||||
class GameModeFilterButtonActionListener {
|
||||
+ GameModeFilterButtonActionListener(GameModeSelectionPanel):
|
||||
+ actionPerformed(ActionEvent): void
|
||||
}
|
||||
class GameModeHoverEffectMouseListener {
|
||||
+ GameModeHoverEffectMouseListener(Color, Color, Color):
|
||||
+ mouseExited(MouseEvent): void
|
||||
+ mousePressed(MouseEvent): void
|
||||
+ mouseReleased(MouseEvent): void
|
||||
+ mouseEntered(MouseEvent): void
|
||||
}
|
||||
class GameModeNextButtonActionListener {
|
||||
+ GameModeNextButtonActionListener(GameModeSelectionPanel):
|
||||
+ actionPerformed(ActionEvent): void
|
||||
}
|
||||
class GameModePrevButtonActionListener {
|
||||
+ GameModePrevButtonActionListener(GameModeSelectionPanel):
|
||||
+ actionPerformed(ActionEvent): void
|
||||
}
|
||||
class GameMouseClickListener {
|
||||
+ GameMouseClickListener(Board):
|
||||
+ mousePressed(MouseEvent): void
|
||||
}
|
||||
class GameMouseWheelListener {
|
||||
+ GameMouseWheelListener(Board):
|
||||
+ mouseWheelMoved(MouseWheelEvent): void
|
||||
}
|
||||
class GameQuitButtonListener {
|
||||
+ GameQuitButtonListener():
|
||||
+ actionPerformed(ActionEvent): void
|
||||
}
|
||||
class GameResumeButtonListener {
|
||||
+ GameResumeButtonListener(EscapeMenu):
|
||||
+ actionPerformed(ActionEvent): void
|
||||
}
|
||||
class GameSettingsButtonListener {
|
||||
+ GameSettingsButtonListener(JFrame, EscapeMenu):
|
||||
+ actionPerformed(ActionEvent): void
|
||||
}
|
||||
class GameSettingsWindowListener {
|
||||
+ GameSettingsWindowListener(JFrame):
|
||||
+ windowIconified(WindowEvent): void
|
||||
+ windowDeactivated(WindowEvent): void
|
||||
+ windowDeiconified(WindowEvent): void
|
||||
+ windowOpened(WindowEvent): void
|
||||
+ windowClosing(WindowEvent): void
|
||||
+ windowClosed(WindowEvent): void
|
||||
+ windowActivated(WindowEvent): void
|
||||
}
|
||||
class GameSpaceKeyListener {
|
||||
+ GameSpaceKeyListener(Board):
|
||||
+ keyPressed(KeyEvent): void
|
||||
}
|
||||
class GameZoomListener {
|
||||
+ GameZoomListener(Board):
|
||||
+ mouseWheelMoved(MouseWheelEvent): void
|
||||
}
|
||||
class MusicVolumeChangeListener {
|
||||
+ MusicVolumeChangeListener(JSlider):
|
||||
+ stateChanged(ChangeEvent): void
|
||||
}
|
||||
class MuteCheckBoxListener {
|
||||
+ MuteCheckBoxListener(String):
|
||||
+ actionPerformed(ActionEvent): void
|
||||
}
|
||||
class SoundsVolumeChangeListener {
|
||||
+ SoundsVolumeChangeListener(JSlider):
|
||||
+ stateChanged(ChangeEvent): void
|
||||
}
|
||||
class TilePanningActionListener {
|
||||
+ TilePanningActionListener(Board, int, int, int):
|
||||
- stopAnimation(): void
|
||||
+ actionPerformed(ActionEvent): void
|
||||
+ startAnimation(): void
|
||||
}
|
||||
class TutorialButtonHoverListener {
|
||||
+ TutorialButtonHoverListener(JButton, Color, Color):
|
||||
+ mouseEntered(MouseEvent): void
|
||||
+ mouseExited(MouseEvent): void
|
||||
}
|
||||
|
||||
GameSettingsButtonListener -[#595959,dashed]-> GameSettingsWindowListener : "«create»"
|
||||
@enduml
|
245
Documentation/DiagrammeUML/Listeners/Diagram_listeners.svg
Normal file
@@ -0,0 +1,245 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1183pt" height="995pt" viewBox="0.00 0.00 1182.64 995.40">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 991.4)">
|
||||
<title>package</title>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-991.4 1178.64,-991.4 1178.64,4 -4,4"/>
|
||||
<!-- CloseButtonListener -->
|
||||
<g id="node1" class="node">
|
||||
<title>CloseButtonListener</title>
|
||||
<polygon fill="none" stroke="black" points="873.98,-836.5 873.98,-910.9 1147.89,-910.9 1147.89,-836.5 873.98,-836.5"/>
|
||||
<text text-anchor="middle" x="1010.94" y="-894.3" font-family="Times,serif" font-size="14.00">CloseButtonListener</text>
|
||||
<polyline fill="none" stroke="black" points="873.98,-886.1 1147.89,-886.1"/>
|
||||
<text text-anchor="start" x="881.98" y="-869.5" font-family="Times,serif" font-size="14.00">+ CloseButtonListener(MainMenu, JFrame) : </text>
|
||||
<polyline fill="none" stroke="black" points="873.98,-861.3 1147.89,-861.3"/>
|
||||
<text text-anchor="start" x="881.98" y="-844.7" font-family="Times,serif" font-size="14.00">+ actionPerformed(ActionEvent) : void</text>
|
||||
</g>
|
||||
<!-- CloseWindowListener -->
|
||||
<g id="node2" class="node">
|
||||
<title>CloseWindowListener</title>
|
||||
<polygon fill="none" stroke="black" points="474.93,-114.5 474.93,-188.9 758.94,-188.9 758.94,-114.5 474.93,-114.5"/>
|
||||
<text text-anchor="middle" x="616.94" y="-172.3" font-family="Times,serif" font-size="14.00">CloseWindowListener</text>
|
||||
<polyline fill="none" stroke="black" points="474.93,-164.1 758.94,-164.1"/>
|
||||
<text text-anchor="start" x="482.93" y="-147.5" font-family="Times,serif" font-size="14.00">+ CloseWindowListener(MainMenu, JFrame) : </text>
|
||||
<polyline fill="none" stroke="black" points="474.93,-139.3 758.94,-139.3"/>
|
||||
<text text-anchor="start" x="482.93" y="-122.7" font-family="Times,serif" font-size="14.00">+ windowClosing(WindowEvent) : void</text>
|
||||
</g>
|
||||
<!-- EscapeMenuCloseListener -->
|
||||
<g id="node3" class="node">
|
||||
<title>EscapeMenuCloseListener</title>
|
||||
<polygon fill="none" stroke="black" points="474.91,-0.5 474.91,-74.9 716.96,-74.9 716.96,-0.5 474.91,-0.5"/>
|
||||
<text text-anchor="middle" x="595.94" y="-58.3" font-family="Times,serif" font-size="14.00">EscapeMenuCloseListener</text>
|
||||
<polyline fill="none" stroke="black" points="474.91,-50.1 716.96,-50.1"/>
|
||||
<text text-anchor="start" x="482.91" y="-33.5" font-family="Times,serif" font-size="14.00">+ EscapeMenuCloseListener() : </text>
|
||||
<polyline fill="none" stroke="black" points="474.91,-25.3 716.96,-25.3"/>
|
||||
<text text-anchor="start" x="482.91" y="-8.7" font-family="Times,serif" font-size="14.00">+ windowClosing(WindowEvent) : void</text>
|
||||
</g>
|
||||
<!-- GameArrowKeyListener -->
|
||||
<g id="node4" class="node">
|
||||
<title>GameArrowKeyListener</title>
|
||||
<polygon fill="none" stroke="black" points="37.44,-722.5 37.44,-796.9 258.43,-796.9 258.43,-722.5 37.44,-722.5"/>
|
||||
<text text-anchor="middle" x="147.94" y="-780.3" font-family="Times,serif" font-size="14.00">GameArrowKeyListener</text>
|
||||
<polyline fill="none" stroke="black" points="37.44,-772.1 258.43,-772.1"/>
|
||||
<text text-anchor="start" x="45.44" y="-755.5" font-family="Times,serif" font-size="14.00">+ GameArrowKeyListener(Board) : </text>
|
||||
<polyline fill="none" stroke="black" points="37.44,-747.3 258.43,-747.3"/>
|
||||
<text text-anchor="start" x="45.44" y="-730.7" font-family="Times,serif" font-size="14.00">+ keyPressed(KeyEvent) : void</text>
|
||||
</g>
|
||||
<!-- GameMainMenuButtonListener -->
|
||||
<g id="node5" class="node">
|
||||
<title>GameMainMenuButtonListener</title>
|
||||
<polygon fill="none" stroke="black" points="151.71,-114.5 151.71,-188.9 420.16,-188.9 420.16,-114.5 151.71,-114.5"/>
|
||||
<text text-anchor="middle" x="285.94" y="-172.3" font-family="Times,serif" font-size="14.00">GameMainMenuButtonListener</text>
|
||||
<polyline fill="none" stroke="black" points="151.71,-164.1 420.16,-164.1"/>
|
||||
<text text-anchor="start" x="159.71" y="-147.5" font-family="Times,serif" font-size="14.00">+ GameMainMenuButtonListener(JFrame) : </text>
|
||||
<polyline fill="none" stroke="black" points="151.71,-139.3 420.16,-139.3"/>
|
||||
<text text-anchor="start" x="159.71" y="-122.7" font-family="Times,serif" font-size="14.00">+ actionPerformed(ActionEvent) : void</text>
|
||||
</g>
|
||||
<!-- GameModeFilterButtonActionListener -->
|
||||
<g id="node6" class="node">
|
||||
<title>GameModeFilterButtonActionListener</title>
|
||||
<polygon fill="none" stroke="black" points="759.23,-722.5 759.23,-796.9 1174.64,-796.9 1174.64,-722.5 759.23,-722.5"/>
|
||||
<text text-anchor="middle" x="966.94" y="-780.3" font-family="Times,serif" font-size="14.00">GameModeFilterButtonActionListener</text>
|
||||
<polyline fill="none" stroke="black" points="759.23,-772.1 1174.64,-772.1"/>
|
||||
<text text-anchor="start" x="767.23" y="-755.5" font-family="Times,serif" font-size="14.00">+ GameModeFilterButtonActionListener(GameModeSelectionPanel) : </text>
|
||||
<polyline fill="none" stroke="black" points="759.23,-747.3 1174.64,-747.3"/>
|
||||
<text text-anchor="start" x="767.23" y="-730.7" font-family="Times,serif" font-size="14.00">+ actionPerformed(ActionEvent) : void</text>
|
||||
</g>
|
||||
<!-- GameModeHoverEffectMouseListener -->
|
||||
<g id="node7" class="node">
|
||||
<title>GameModeHoverEffectMouseListener</title>
|
||||
<polygon fill="none" stroke="black" points="588.67,-551.3 588.67,-676.1 965.2,-676.1 965.2,-551.3 588.67,-551.3"/>
|
||||
<text text-anchor="middle" x="776.94" y="-659.5" font-family="Times,serif" font-size="14.00">GameModeHoverEffectMouseListener</text>
|
||||
<polyline fill="none" stroke="black" points="588.67,-651.3 965.2,-651.3"/>
|
||||
<text text-anchor="start" x="596.67" y="-634.7" font-family="Times,serif" font-size="14.00">+ GameModeHoverEffectMouseListener(Color, Color, Color) : </text>
|
||||
<polyline fill="none" stroke="black" points="588.67,-626.5 965.2,-626.5"/>
|
||||
<text text-anchor="start" x="596.67" y="-609.9" font-family="Times,serif" font-size="14.00">+ mouseExited(MouseEvent) : void</text>
|
||||
<text text-anchor="start" x="596.67" y="-593.1" font-family="Times,serif" font-size="14.00"> + mousePressed(MouseEvent) : void</text>
|
||||
<text text-anchor="start" x="596.67" y="-576.3" font-family="Times,serif" font-size="14.00"> + mouseReleased(MouseEvent) : void</text>
|
||||
<text text-anchor="start" x="596.67" y="-559.5" font-family="Times,serif" font-size="14.00"> + mouseEntered(MouseEvent) : void</text>
|
||||
</g>
|
||||
<!-- GameModeNextButtonActionListener -->
|
||||
<g id="node8" class="node">
|
||||
<title>GameModeNextButtonActionListener</title>
|
||||
<polygon fill="none" stroke="black" points="303.79,-722.5 303.79,-796.9 716.08,-796.9 716.08,-722.5 303.79,-722.5"/>
|
||||
<text text-anchor="middle" x="509.94" y="-780.3" font-family="Times,serif" font-size="14.00">GameModeNextButtonActionListener</text>
|
||||
<polyline fill="none" stroke="black" points="303.79,-772.1 716.08,-772.1"/>
|
||||
<text text-anchor="start" x="311.79" y="-755.5" font-family="Times,serif" font-size="14.00">+ GameModeNextButtonActionListener(GameModeSelectionPanel) : </text>
|
||||
<polyline fill="none" stroke="black" points="303.79,-747.3 716.08,-747.3"/>
|
||||
<text text-anchor="start" x="311.79" y="-730.7" font-family="Times,serif" font-size="14.00">+ actionPerformed(ActionEvent) : void</text>
|
||||
</g>
|
||||
<!-- GameModePrevButtonActionListener -->
|
||||
<g id="node9" class="node">
|
||||
<title>GameModePrevButtonActionListener</title>
|
||||
<polygon fill="none" stroke="black" points="474.57,-228.5 474.57,-302.9 885.31,-302.9 885.31,-228.5 474.57,-228.5"/>
|
||||
<text text-anchor="middle" x="679.94" y="-286.3" font-family="Times,serif" font-size="14.00">GameModePrevButtonActionListener</text>
|
||||
<polyline fill="none" stroke="black" points="474.57,-278.1 885.31,-278.1"/>
|
||||
<text text-anchor="start" x="482.57" y="-261.5" font-family="Times,serif" font-size="14.00">+ GameModePrevButtonActionListener(GameModeSelectionPanel) : </text>
|
||||
<polyline fill="none" stroke="black" points="474.57,-253.3 885.31,-253.3"/>
|
||||
<text text-anchor="start" x="482.57" y="-236.7" font-family="Times,serif" font-size="14.00">+ actionPerformed(ActionEvent) : void</text>
|
||||
</g>
|
||||
<!-- GameMouseClickListener -->
|
||||
<g id="node10" class="node">
|
||||
<title>GameMouseClickListener</title>
|
||||
<polygon fill="none" stroke="black" points="760.16,-0.5 760.16,-74.9 989.72,-74.9 989.72,-0.5 760.16,-0.5"/>
|
||||
<text text-anchor="middle" x="874.94" y="-58.3" font-family="Times,serif" font-size="14.00">GameMouseClickListener</text>
|
||||
<polyline fill="none" stroke="black" points="760.16,-50.1 989.72,-50.1"/>
|
||||
<text text-anchor="start" x="768.16" y="-33.5" font-family="Times,serif" font-size="14.00">+ GameMouseClickListener(Board) : </text>
|
||||
<polyline fill="none" stroke="black" points="760.16,-25.3 989.72,-25.3"/>
|
||||
<text text-anchor="start" x="768.16" y="-8.7" font-family="Times,serif" font-size="14.00">+ mousePressed(MouseEvent) : void</text>
|
||||
</g>
|
||||
<!-- GameMouseWheelListener -->
|
||||
<g id="node11" class="node">
|
||||
<title>GameMouseWheelListener</title>
|
||||
<polygon fill="none" stroke="black" points="797.67,-114.5 797.67,-188.9 1090.21,-188.9 1090.21,-114.5 797.67,-114.5"/>
|
||||
<text text-anchor="middle" x="943.94" y="-172.3" font-family="Times,serif" font-size="14.00">GameMouseWheelListener</text>
|
||||
<polyline fill="none" stroke="black" points="797.67,-164.1 1090.21,-164.1"/>
|
||||
<text text-anchor="start" x="805.67" y="-147.5" font-family="Times,serif" font-size="14.00">+ GameMouseWheelListener(Board) : </text>
|
||||
<polyline fill="none" stroke="black" points="797.67,-139.3 1090.21,-139.3"/>
|
||||
<text text-anchor="start" x="805.67" y="-122.7" font-family="Times,serif" font-size="14.00">+ mouseWheelMoved(MouseWheelEvent) : void</text>
|
||||
</g>
|
||||
<!-- GameQuitButtonListener -->
|
||||
<g id="node12" class="node">
|
||||
<title>GameQuitButtonListener</title>
|
||||
<polygon fill="none" stroke="black" points="37.66,-0.5 37.66,-74.9 274.21,-74.9 274.21,-0.5 37.66,-0.5"/>
|
||||
<text text-anchor="middle" x="155.94" y="-58.3" font-family="Times,serif" font-size="14.00">GameQuitButtonListener</text>
|
||||
<polyline fill="none" stroke="black" points="37.66,-50.1 274.21,-50.1"/>
|
||||
<text text-anchor="start" x="45.66" y="-33.5" font-family="Times,serif" font-size="14.00">+ GameQuitButtonListener() : </text>
|
||||
<polyline fill="none" stroke="black" points="37.66,-25.3 274.21,-25.3"/>
|
||||
<text text-anchor="start" x="45.66" y="-8.7" font-family="Times,serif" font-size="14.00">+ actionPerformed(ActionEvent) : void</text>
|
||||
</g>
|
||||
<!-- GameResumeButtonListener -->
|
||||
<g id="node13" class="node">
|
||||
<title>GameResumeButtonListener</title>
|
||||
<polygon fill="none" stroke="black" points="151.72,-228.5 151.72,-302.9 434.15,-302.9 434.15,-228.5 151.72,-228.5"/>
|
||||
<text text-anchor="middle" x="292.94" y="-286.3" font-family="Times,serif" font-size="14.00">GameResumeButtonListener</text>
|
||||
<polyline fill="none" stroke="black" points="151.72,-278.1 434.15,-278.1"/>
|
||||
<text text-anchor="start" x="159.72" y="-261.5" font-family="Times,serif" font-size="14.00">+ GameResumeButtonListener(EscapeMenu) : </text>
|
||||
<polyline fill="none" stroke="black" points="151.72,-253.3 434.15,-253.3"/>
|
||||
<text text-anchor="start" x="159.72" y="-236.7" font-family="Times,serif" font-size="14.00">+ actionPerformed(ActionEvent) : void</text>
|
||||
</g>
|
||||
<!-- GameSettingsButtonListener -->
|
||||
<g id="node14" class="node">
|
||||
<title>GameSettingsButtonListener</title>
|
||||
<polygon fill="none" stroke="black" points="170.73,-439.58 170.73,-513.98 501.39,-513.98 501.39,-439.58 170.73,-439.58"/>
|
||||
<text text-anchor="middle" x="336.06" y="-497.38" font-family="Times,serif" font-size="14.00">GameSettingsButtonListener</text>
|
||||
<polyline fill="none" stroke="black" points="170.73,-489.18 501.39,-489.18"/>
|
||||
<text text-anchor="start" x="178.73" y="-472.58" font-family="Times,serif" font-size="14.00">+ GameSettingsButtonListener(JFrame, EscapeMenu) : </text>
|
||||
<polyline fill="none" stroke="black" points="170.73,-464.38 501.39,-464.38"/>
|
||||
<text text-anchor="start" x="178.73" y="-447.78" font-family="Times,serif" font-size="14.00">+ actionPerformed(ActionEvent) : void</text>
|
||||
</g>
|
||||
<!-- GameSettingsWindowListener -->
|
||||
<g id="node15" class="node">
|
||||
<title>GameSettingsWindowListener</title>
|
||||
<polygon fill="none" stroke="black" points="513.19,-342.63 513.19,-517.83 782.02,-517.83 782.02,-342.63 513.19,-342.63"/>
|
||||
<text text-anchor="middle" x="647.61" y="-501.23" font-family="Times,serif" font-size="14.00">GameSettingsWindowListener</text>
|
||||
<polyline fill="none" stroke="black" points="513.19,-493.03 782.02,-493.03"/>
|
||||
<text text-anchor="start" x="521.19" y="-476.43" font-family="Times,serif" font-size="14.00">+ GameSettingsWindowListener(JFrame) : </text>
|
||||
<polyline fill="none" stroke="black" points="513.19,-468.23 782.02,-468.23"/>
|
||||
<text text-anchor="start" x="521.19" y="-451.63" font-family="Times,serif" font-size="14.00">+ windowIconified(WindowEvent) : void</text>
|
||||
<text text-anchor="start" x="521.19" y="-434.83" font-family="Times,serif" font-size="14.00"> + windowDeactivated(WindowEvent) : void</text>
|
||||
<text text-anchor="start" x="521.19" y="-418.03" font-family="Times,serif" font-size="14.00"> + windowDeiconified(WindowEvent) : void</text>
|
||||
<text text-anchor="start" x="521.19" y="-401.23" font-family="Times,serif" font-size="14.00"> + windowOpened(WindowEvent) : void</text>
|
||||
<text text-anchor="start" x="521.19" y="-384.43" font-family="Times,serif" font-size="14.00"> + windowClosing(WindowEvent) : void</text>
|
||||
<text text-anchor="start" x="521.19" y="-367.63" font-family="Times,serif" font-size="14.00"> + windowClosed(WindowEvent) : void</text>
|
||||
<text text-anchor="start" x="521.19" y="-350.83" font-family="Times,serif" font-size="14.00"> + windowActivated(WindowEvent) : void</text>
|
||||
</g>
|
||||
<!-- GameSettingsButtonListener->GameSettingsWindowListener -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>GameSettingsButtonListener->GameSettingsWindowListener</title>
|
||||
<path fill="none" stroke="#595959" stroke-dasharray="5,2" d="M501.87,-476.78C501.87,-476.78 502.95,-476.78 502.95,-476.78"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="511.52,-476.78 501.52,-481.28 507.73,-476.78 501.52,-476.78 501.52,-476.78 501.52,-476.78 507.73,-476.78 501.52,-472.28 511.52,-476.78"/>
|
||||
<text text-anchor="middle" x="526.11" y="-480.98" font-family="Times,serif" font-size="14.00">«create»</text>
|
||||
</g>
|
||||
<!-- GameSpaceKeyListener -->
|
||||
<g id="node16" class="node">
|
||||
<title>GameSpaceKeyListener</title>
|
||||
<polygon fill="none" stroke="black" points="0,-912.5 0,-986.9 217.87,-986.9 217.87,-912.5 0,-912.5"/>
|
||||
<text text-anchor="middle" x="108.94" y="-970.3" font-family="Times,serif" font-size="14.00">GameSpaceKeyListener</text>
|
||||
<polyline fill="none" stroke="black" points="0,-962.1 217.87,-962.1"/>
|
||||
<text text-anchor="start" x="8" y="-945.5" font-family="Times,serif" font-size="14.00">+ GameSpaceKeyListener(Board) : </text>
|
||||
<polyline fill="none" stroke="black" points="0,-937.3 217.87,-937.3"/>
|
||||
<text text-anchor="start" x="8" y="-920.7" font-family="Times,serif" font-size="14.00">+ keyPressed(KeyEvent) : void</text>
|
||||
</g>
|
||||
<!-- GameZoomListener -->
|
||||
<g id="node17" class="node">
|
||||
<title>GameZoomListener</title>
|
||||
<polygon fill="none" stroke="black" points="189.67,-342.5 189.67,-416.9 482.21,-416.9 482.21,-342.5 189.67,-342.5"/>
|
||||
<text text-anchor="middle" x="335.94" y="-400.3" font-family="Times,serif" font-size="14.00">GameZoomListener</text>
|
||||
<polyline fill="none" stroke="black" points="189.67,-392.1 482.21,-392.1"/>
|
||||
<text text-anchor="start" x="197.67" y="-375.5" font-family="Times,serif" font-size="14.00">+ GameZoomListener(Board) : </text>
|
||||
<polyline fill="none" stroke="black" points="189.67,-367.3 482.21,-367.3"/>
|
||||
<text text-anchor="start" x="197.67" y="-350.7" font-family="Times,serif" font-size="14.00">+ mouseWheelMoved(MouseWheelEvent) : void</text>
|
||||
</g>
|
||||
<!-- MusicVolumeChangeListener -->
|
||||
<g id="node18" class="node">
|
||||
<title>MusicVolumeChangeListener</title>
|
||||
<polygon fill="none" stroke="black" points="265.32,-836.5 265.32,-910.9 520.55,-910.9 520.55,-836.5 265.32,-836.5"/>
|
||||
<text text-anchor="middle" x="392.94" y="-894.3" font-family="Times,serif" font-size="14.00">MusicVolumeChangeListener</text>
|
||||
<polyline fill="none" stroke="black" points="265.32,-886.1 520.55,-886.1"/>
|
||||
<text text-anchor="start" x="273.32" y="-869.5" font-family="Times,serif" font-size="14.00">+ MusicVolumeChangeListener(JSlider) : </text>
|
||||
<polyline fill="none" stroke="black" points="265.32,-861.3 520.55,-861.3"/>
|
||||
<text text-anchor="start" x="273.32" y="-844.7" font-family="Times,serif" font-size="14.00">+ stateChanged(ChangeEvent) : void</text>
|
||||
</g>
|
||||
<!-- MuteCheckBoxListener -->
|
||||
<g id="node19" class="node">
|
||||
<title>MuteCheckBoxListener</title>
|
||||
<polygon fill="none" stroke="black" points="930.66,-228.5 930.66,-302.9 1167.21,-302.9 1167.21,-228.5 930.66,-228.5"/>
|
||||
<text text-anchor="middle" x="1048.94" y="-286.3" font-family="Times,serif" font-size="14.00">MuteCheckBoxListener</text>
|
||||
<polyline fill="none" stroke="black" points="930.66,-278.1 1167.21,-278.1"/>
|
||||
<text text-anchor="start" x="938.66" y="-261.5" font-family="Times,serif" font-size="14.00">+ MuteCheckBoxListener(String) : </text>
|
||||
<polyline fill="none" stroke="black" points="930.66,-253.3 1167.21,-253.3"/>
|
||||
<text text-anchor="start" x="938.66" y="-236.7" font-family="Times,serif" font-size="14.00">+ actionPerformed(ActionEvent) : void</text>
|
||||
</g>
|
||||
<!-- SoundsVolumeChangeListener -->
|
||||
<g id="node20" class="node">
|
||||
<title>SoundsVolumeChangeListener</title>
|
||||
<polygon fill="none" stroke="black" points="569.2,-836.5 569.2,-910.9 830.67,-910.9 830.67,-836.5 569.2,-836.5"/>
|
||||
<text text-anchor="middle" x="699.94" y="-894.3" font-family="Times,serif" font-size="14.00">SoundsVolumeChangeListener</text>
|
||||
<polyline fill="none" stroke="black" points="569.2,-886.1 830.67,-886.1"/>
|
||||
<text text-anchor="start" x="577.2" y="-869.5" font-family="Times,serif" font-size="14.00">+ SoundsVolumeChangeListener(JSlider) : </text>
|
||||
<polyline fill="none" stroke="black" points="569.2,-861.3 830.67,-861.3"/>
|
||||
<text text-anchor="start" x="577.2" y="-844.7" font-family="Times,serif" font-size="14.00">+ stateChanged(ChangeEvent) : void</text>
|
||||
</g>
|
||||
<!-- TilePanningActionListener -->
|
||||
<g id="node21" class="node">
|
||||
<title>TilePanningActionListener</title>
|
||||
<polygon fill="none" stroke="black" points="817.15,-342.7 817.15,-450.7 1116.72,-450.7 1116.72,-342.7 817.15,-342.7"/>
|
||||
<text text-anchor="middle" x="966.94" y="-434.1" font-family="Times,serif" font-size="14.00">TilePanningActionListener</text>
|
||||
<polyline fill="none" stroke="black" points="817.15,-425.9 1116.72,-425.9"/>
|
||||
<text text-anchor="start" x="825.15" y="-409.3" font-family="Times,serif" font-size="14.00">+ TilePanningActionListener(Board, int, int, int) : </text>
|
||||
<polyline fill="none" stroke="black" points="817.15,-401.1 1116.72,-401.1"/>
|
||||
<text text-anchor="start" x="825.15" y="-384.5" font-family="Times,serif" font-size="14.00">- stopAnimation() : void</text>
|
||||
<text text-anchor="start" x="825.15" y="-367.7" font-family="Times,serif" font-size="14.00"> + actionPerformed(ActionEvent) : void</text>
|
||||
<text text-anchor="start" x="825.15" y="-350.9" font-family="Times,serif" font-size="14.00"> + startAnimation() : void</text>
|
||||
</g>
|
||||
<!-- TutorialButtonHoverListener -->
|
||||
<g id="node22" class="node">
|
||||
<title>TutorialButtonHoverListener</title>
|
||||
<polygon fill="none" stroke="black" points="208.42,-589.1 208.42,-680.3 541.45,-680.3 541.45,-589.1 208.42,-589.1"/>
|
||||
<text text-anchor="middle" x="374.94" y="-663.7" font-family="Times,serif" font-size="14.00">TutorialButtonHoverListener</text>
|
||||
<polyline fill="none" stroke="black" points="208.42,-655.5 541.45,-655.5"/>
|
||||
<text text-anchor="start" x="216.42" y="-638.9" font-family="Times,serif" font-size="14.00">+ TutorialButtonHoverListener(JButton, Color, Color) : </text>
|
||||
<polyline fill="none" stroke="black" points="208.42,-630.7 541.45,-630.7"/>
|
||||
<text text-anchor="start" x="216.42" y="-614.1" font-family="Times,serif" font-size="14.00">+ mouseEntered(MouseEvent) : void</text>
|
||||
<text text-anchor="start" x="216.42" y="-597.3" font-family="Times,serif" font-size="14.00"> + mouseExited(MouseEvent) : void</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 195 KiB After Width: | Height: | Size: 658 KiB |
@@ -1,100 +1,84 @@
|
||||
@startuml
|
||||
class fr.monkhanny.dorfromantik.utils.PlayerScore {
|
||||
- String serie
|
||||
- int score
|
||||
+ <<Create>> PlayerScore(String,int)
|
||||
+ String getSerieName()
|
||||
+ int getScore()
|
||||
@startuml utils
|
||||
!theme plain
|
||||
top to bottom direction
|
||||
skinparam linetype ortho
|
||||
|
||||
class Database {
|
||||
+ Database():
|
||||
- database: Connection
|
||||
+ addScore(long, int): void
|
||||
+ getSeedBySeriesId(long): long
|
||||
+ countSeriesByDateRange(Date, Date, boolean): int
|
||||
+ getSeriesByDateRange(Date, Date): List<String>
|
||||
+ getScoresBySeriesId(long): List<Integer>
|
||||
+ getAllScores(long): List<PlayerScore>
|
||||
+ getSeriesByDateRangePaginated(Date, Date, int, int, boolean): List<String>
|
||||
+ addCustomSeed(long): void
|
||||
+ close(): void
|
||||
+ getSeedByName(String): long
|
||||
database: Connection
|
||||
topPlayers: List<PlayerScore>
|
||||
allSeries: List<String>
|
||||
}
|
||||
class FontLoader {
|
||||
+ FontLoader():
|
||||
+ loadFont(Fonts): Font
|
||||
}
|
||||
class FontManager {
|
||||
+ FontManager():
|
||||
- buttonFont: Font
|
||||
- titleFont: Font
|
||||
+ getTitleFont(float): Font
|
||||
+ loadCustomFont(Fonts): void
|
||||
+ getAdjustedTitleFont(Component, float, float): Font
|
||||
+ getAdjustedButtonFont(Component, float, float): Font
|
||||
+ getButtonFont(float): Font
|
||||
buttonFont: Font
|
||||
titleFont: Font
|
||||
}
|
||||
class Hexagon {
|
||||
+ Hexagon(int, int, int):
|
||||
+ Hexagon(Point, int):
|
||||
+ Hexagon(Point, int, double):
|
||||
+ Hexagon(int, int, int, double):
|
||||
- calculateAngle(int, double): double
|
||||
}
|
||||
class HexagonDrawer {
|
||||
+ HexagonDrawer(Tile):
|
||||
+ drawHexagon(Graphics2D, double, Point): void
|
||||
- drawHexagonRow(Graphics2D, double, double, double, int): void
|
||||
}
|
||||
class ImageLoader {
|
||||
+ ImageLoader():
|
||||
+ loadImage(String): Image?
|
||||
}
|
||||
class MusicPlayer {
|
||||
+ MusicPlayer():
|
||||
- soundClip: Clip
|
||||
- musicClip: Clip
|
||||
+ loadMusic(Musics): void
|
||||
+ playSound(): void
|
||||
+ pauseMusic(): void
|
||||
+ loadSound(Sounds): void
|
||||
+ setVolume(Clip, int): void
|
||||
+ playMusic(): void
|
||||
+ stopMusic(): void
|
||||
playingSound: boolean
|
||||
soundClip: Clip
|
||||
playingMusic: boolean
|
||||
musicClip: Clip
|
||||
}
|
||||
class PlayerScore {
|
||||
+ PlayerScore(String, int):
|
||||
- score: int
|
||||
serieName: String
|
||||
score: int
|
||||
}
|
||||
class SoundLoader {
|
||||
+ SoundLoader():
|
||||
+ loadMusic(String): Clip?
|
||||
}
|
||||
|
||||
|
||||
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
|
||||
Database -[#595959,dashed]-> PlayerScore : "«create»"
|
||||
HexagonDrawer -[#595959,dashed]-> Hexagon : "«create»"
|
||||
@enduml
|
156
Documentation/DiagrammeUML/Utils/Diagram_utils.svg
Normal file
@@ -0,0 +1,156 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="2010pt" height="496pt" viewBox="0.00 0.00 2009.98 496.40">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 492.4)">
|
||||
<title>package</title>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-492.4 2005.98,-492.4 2005.98,4 -4,4"/>
|
||||
<!-- Database -->
|
||||
<g id="node1" class="node">
|
||||
<title>Database</title>
|
||||
<polygon fill="none" stroke="black" points="0,-179.1 0,-487.9 462.69,-487.9 462.69,-179.1 0,-179.1"/>
|
||||
<text text-anchor="middle" x="231.35" y="-471.3" font-family="Times,serif" font-size="14.00">Database</text>
|
||||
<polyline fill="none" stroke="black" points="0,-463.1 462.69,-463.1"/>
|
||||
<text text-anchor="start" x="8" y="-446.5" font-family="Times,serif" font-size="14.00">+ Database() : </text>
|
||||
<polyline fill="none" stroke="black" points="0,-438.3 462.69,-438.3"/>
|
||||
<text text-anchor="start" x="8" y="-421.7" font-family="Times,serif" font-size="14.00">- database : Connection</text>
|
||||
<polyline fill="none" stroke="black" points="0,-413.5 462.69,-413.5"/>
|
||||
<text text-anchor="start" x="8" y="-396.9" font-family="Times,serif" font-size="14.00">+ addScore(long, int) : void</text>
|
||||
<text text-anchor="start" x="8" y="-380.1" font-family="Times,serif" font-size="14.00"> + getSeedBySeriesId(long) : long</text>
|
||||
<text text-anchor="start" x="8" y="-363.3" font-family="Times,serif" font-size="14.00"> + countSeriesByDateRange(Date, Date, boolean) : int</text>
|
||||
<text text-anchor="start" x="8" y="-346.5" font-family="Times,serif" font-size="14.00"> + getSeriesByDateRange(Date, Date) : List<String></text>
|
||||
<text text-anchor="start" x="8" y="-329.7" font-family="Times,serif" font-size="14.00"> + getScoresBySeriesId(long) : List<Integer></text>
|
||||
<text text-anchor="start" x="8" y="-312.9" font-family="Times,serif" font-size="14.00"> + getAllScores(long) : List<PlayerScore></text>
|
||||
<text text-anchor="start" x="8" y="-296.1" font-family="Times,serif" font-size="14.00"> + getSeriesByDateRangePaginated(Date, Date, int, int, boolean) : List<String></text>
|
||||
<text text-anchor="start" x="8" y="-279.3" font-family="Times,serif" font-size="14.00"> + addCustomSeed(long) : void</text>
|
||||
<text text-anchor="start" x="8" y="-262.5" font-family="Times,serif" font-size="14.00"> + close() : void</text>
|
||||
<text text-anchor="start" x="8" y="-245.7" font-family="Times,serif" font-size="14.00"> + getSeedByName(String) : long</text>
|
||||
<polyline fill="none" stroke="black" points="0,-237.5 462.69,-237.5"/>
|
||||
<text text-anchor="start" x="8" y="-220.9" font-family="Times,serif" font-size="14.00">database : Connection</text>
|
||||
<text text-anchor="start" x="8" y="-204.1" font-family="Times,serif" font-size="14.00"> topPlayers : List<PlayerScore></text>
|
||||
<text text-anchor="start" x="8" y="-187.3" font-family="Times,serif" font-size="14.00"> allSeries : List<String></text>
|
||||
</g>
|
||||
<!-- PlayerScore -->
|
||||
<g id="node8" class="node">
|
||||
<title>PlayerScore</title>
|
||||
<polygon fill="none" stroke="black" points="145.72,-4.9 145.72,-120.9 316.98,-120.9 316.98,-4.9 145.72,-4.9"/>
|
||||
<text text-anchor="middle" x="231.35" y="-104.3" font-family="Times,serif" font-size="14.00">PlayerScore</text>
|
||||
<polyline fill="none" stroke="black" points="145.72,-96.1 316.98,-96.1"/>
|
||||
<text text-anchor="start" x="153.72" y="-79.5" font-family="Times,serif" font-size="14.00">+ PlayerScore(String, int) : </text>
|
||||
<polyline fill="none" stroke="black" points="145.72,-71.3 316.98,-71.3"/>
|
||||
<text text-anchor="start" x="153.72" y="-54.7" font-family="Times,serif" font-size="14.00">- score : int</text>
|
||||
<polyline fill="none" stroke="black" points="145.72,-46.5 316.98,-46.5"/>
|
||||
<text text-anchor="start" x="153.72" y="-29.9" font-family="Times,serif" font-size="14.00">serieName : String</text>
|
||||
<text text-anchor="start" x="153.72" y="-13.1" font-family="Times,serif" font-size="14.00"> score : int</text>
|
||||
</g>
|
||||
<!-- Database->PlayerScore -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Database->PlayerScore</title>
|
||||
<path fill="none" stroke="#595959" stroke-dasharray="5,2" d="M231.35,-178.84C231.35,-178.84 231.35,-132.35 231.35,-132.35"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="231.35,-122.35 235.85,-132.35 231.35,-126.14 231.35,-132.35 231.35,-132.35 231.35,-132.35 231.35,-126.14 226.85,-132.35 231.35,-122.35"/>
|
||||
<text text-anchor="middle" x="255.05" y="-148" font-family="Times,serif" font-size="14.00">«create»</text>
|
||||
</g>
|
||||
<!-- FontLoader -->
|
||||
<g id="node2" class="node">
|
||||
<title>FontLoader</title>
|
||||
<polygon fill="none" stroke="black" points="480.25,-296.3 480.25,-370.7 634.44,-370.7 634.44,-296.3 480.25,-296.3"/>
|
||||
<text text-anchor="middle" x="557.35" y="-354.1" font-family="Times,serif" font-size="14.00">FontLoader</text>
|
||||
<polyline fill="none" stroke="black" points="480.25,-345.9 634.44,-345.9"/>
|
||||
<text text-anchor="start" x="488.25" y="-329.3" font-family="Times,serif" font-size="14.00">+ FontLoader() : </text>
|
||||
<polyline fill="none" stroke="black" points="480.25,-321.1 634.44,-321.1"/>
|
||||
<text text-anchor="start" x="488.25" y="-304.5" font-family="Times,serif" font-size="14.00">+ loadFont(Fonts) : Font</text>
|
||||
</g>
|
||||
<!-- FontManager -->
|
||||
<g id="node3" class="node">
|
||||
<title>FontManager</title>
|
||||
<polygon fill="none" stroke="black" points="652.91,-221.1 652.91,-445.9 991.78,-445.9 991.78,-221.1 652.91,-221.1"/>
|
||||
<text text-anchor="middle" x="822.35" y="-429.3" font-family="Times,serif" font-size="14.00">FontManager</text>
|
||||
<polyline fill="none" stroke="black" points="652.91,-421.1 991.78,-421.1"/>
|
||||
<text text-anchor="start" x="660.91" y="-404.5" font-family="Times,serif" font-size="14.00">+ FontManager() : </text>
|
||||
<polyline fill="none" stroke="black" points="652.91,-396.3 991.78,-396.3"/>
|
||||
<text text-anchor="start" x="660.91" y="-379.7" font-family="Times,serif" font-size="14.00">- buttonFont : Font</text>
|
||||
<text text-anchor="start" x="660.91" y="-362.9" font-family="Times,serif" font-size="14.00"> - titleFont : Font</text>
|
||||
<polyline fill="none" stroke="black" points="652.91,-354.7 991.78,-354.7"/>
|
||||
<text text-anchor="start" x="660.91" y="-338.1" font-family="Times,serif" font-size="14.00">+ getTitleFont(float) : Font</text>
|
||||
<text text-anchor="start" x="660.91" y="-321.3" font-family="Times,serif" font-size="14.00"> + loadCustomFont(Fonts) : void</text>
|
||||
<text text-anchor="start" x="660.91" y="-304.5" font-family="Times,serif" font-size="14.00"> + getAdjustedTitleFont(Component, float, float) : Font</text>
|
||||
<text text-anchor="start" x="660.91" y="-287.7" font-family="Times,serif" font-size="14.00"> + getAdjustedButtonFont(Component, float, float) : Font</text>
|
||||
<text text-anchor="start" x="660.91" y="-270.9" font-family="Times,serif" font-size="14.00"> + getButtonFont(float) : Font</text>
|
||||
<polyline fill="none" stroke="black" points="652.91,-262.7 991.78,-262.7"/>
|
||||
<text text-anchor="start" x="660.91" y="-246.1" font-family="Times,serif" font-size="14.00">buttonFont : Font</text>
|
||||
<text text-anchor="start" x="660.91" y="-229.3" font-family="Times,serif" font-size="14.00"> titleFont : Font</text>
|
||||
</g>
|
||||
<!-- Hexagon -->
|
||||
<g id="node4" class="node">
|
||||
<title>Hexagon</title>
|
||||
<polygon fill="none" stroke="black" points="1098.19,-0.5 1098.19,-125.3 1324.5,-125.3 1324.5,-0.5 1098.19,-0.5"/>
|
||||
<text text-anchor="middle" x="1211.35" y="-108.7" font-family="Times,serif" font-size="14.00">Hexagon</text>
|
||||
<polyline fill="none" stroke="black" points="1098.19,-100.5 1324.5,-100.5"/>
|
||||
<text text-anchor="start" x="1106.19" y="-83.9" font-family="Times,serif" font-size="14.00">+ Hexagon(int, int, int) : </text>
|
||||
<text text-anchor="start" x="1106.19" y="-67.1" font-family="Times,serif" font-size="14.00"> + Hexagon(Point, int) : </text>
|
||||
<text text-anchor="start" x="1106.19" y="-50.3" font-family="Times,serif" font-size="14.00"> + Hexagon(Point, int, double) : </text>
|
||||
<text text-anchor="start" x="1106.19" y="-33.5" font-family="Times,serif" font-size="14.00"> + Hexagon(int, int, int, double) : </text>
|
||||
<polyline fill="none" stroke="black" points="1098.19,-25.3 1324.5,-25.3"/>
|
||||
<text text-anchor="start" x="1106.19" y="-8.7" font-family="Times,serif" font-size="14.00">- calculateAngle(int, double) : double</text>
|
||||
</g>
|
||||
<!-- HexagonDrawer -->
|
||||
<g id="node5" class="node">
|
||||
<title>HexagonDrawer</title>
|
||||
<polygon fill="none" stroke="black" points="1010.11,-287.9 1010.11,-379.1 1412.59,-379.1 1412.59,-287.9 1010.11,-287.9"/>
|
||||
<text text-anchor="middle" x="1211.35" y="-362.5" font-family="Times,serif" font-size="14.00">HexagonDrawer</text>
|
||||
<polyline fill="none" stroke="black" points="1010.11,-354.3 1412.59,-354.3"/>
|
||||
<text text-anchor="start" x="1018.11" y="-337.7" font-family="Times,serif" font-size="14.00">+ HexagonDrawer(Tile) : </text>
|
||||
<polyline fill="none" stroke="black" points="1010.11,-329.5 1412.59,-329.5"/>
|
||||
<text text-anchor="start" x="1018.11" y="-312.9" font-family="Times,serif" font-size="14.00">+ drawHexagon(Graphics2D, double, Point) : void</text>
|
||||
<text text-anchor="start" x="1018.11" y="-296.1" font-family="Times,serif" font-size="14.00"> - drawHexagonRow(Graphics2D, double, double, double, int) : void</text>
|
||||
</g>
|
||||
<!-- HexagonDrawer->Hexagon -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>HexagonDrawer->Hexagon</title>
|
||||
<path fill="none" stroke="#595959" stroke-dasharray="5,2" d="M1211.35,-287.6C1211.35,-287.6 1211.35,-136.77 1211.35,-136.77"/>
|
||||
<polygon fill="#595959" stroke="#595959" points="1211.35,-126.77 1215.85,-136.77 1211.35,-130.55 1211.35,-136.77 1211.35,-136.77 1211.35,-136.77 1211.35,-130.55 1206.85,-136.77 1211.35,-126.77"/>
|
||||
<text text-anchor="middle" x="1235.05" y="-148" font-family="Times,serif" font-size="14.00">«create»</text>
|
||||
</g>
|
||||
<!-- ImageLoader -->
|
||||
<g id="node6" class="node">
|
||||
<title>ImageLoader</title>
|
||||
<polygon fill="none" stroke="black" points="1430.29,-296.3 1430.29,-370.7 1612.4,-370.7 1612.4,-296.3 1430.29,-296.3"/>
|
||||
<text text-anchor="middle" x="1521.35" y="-354.1" font-family="Times,serif" font-size="14.00">ImageLoader</text>
|
||||
<polyline fill="none" stroke="black" points="1430.29,-345.9 1612.4,-345.9"/>
|
||||
<text text-anchor="start" x="1438.29" y="-329.3" font-family="Times,serif" font-size="14.00">+ ImageLoader() : </text>
|
||||
<polyline fill="none" stroke="black" points="1430.29,-321.1 1612.4,-321.1"/>
|
||||
<text text-anchor="start" x="1438.29" y="-304.5" font-family="Times,serif" font-size="14.00">+ loadImage(String) : Image?</text>
|
||||
</g>
|
||||
<!-- MusicPlayer -->
|
||||
<g id="node7" class="node">
|
||||
<title>MusicPlayer</title>
|
||||
<polygon fill="none" stroke="black" points="1630.07,-187.5 1630.07,-479.5 1812.62,-479.5 1812.62,-187.5 1630.07,-187.5"/>
|
||||
<text text-anchor="middle" x="1721.35" y="-462.9" font-family="Times,serif" font-size="14.00">MusicPlayer</text>
|
||||
<polyline fill="none" stroke="black" points="1630.07,-454.7 1812.62,-454.7"/>
|
||||
<text text-anchor="start" x="1638.07" y="-438.1" font-family="Times,serif" font-size="14.00">+ MusicPlayer() : </text>
|
||||
<polyline fill="none" stroke="black" points="1630.07,-429.9 1812.62,-429.9"/>
|
||||
<text text-anchor="start" x="1638.07" y="-413.3" font-family="Times,serif" font-size="14.00">- soundClip : Clip</text>
|
||||
<text text-anchor="start" x="1638.07" y="-396.5" font-family="Times,serif" font-size="14.00"> - musicClip : Clip</text>
|
||||
<polyline fill="none" stroke="black" points="1630.07,-388.3 1812.62,-388.3"/>
|
||||
<text text-anchor="start" x="1638.07" y="-371.7" font-family="Times,serif" font-size="14.00">+ loadMusic(Musics) : void</text>
|
||||
<text text-anchor="start" x="1638.07" y="-354.9" font-family="Times,serif" font-size="14.00"> + playSound() : void</text>
|
||||
<text text-anchor="start" x="1638.07" y="-338.1" font-family="Times,serif" font-size="14.00"> + pauseMusic() : void</text>
|
||||
<text text-anchor="start" x="1638.07" y="-321.3" font-family="Times,serif" font-size="14.00"> + loadSound(Sounds) : void</text>
|
||||
<text text-anchor="start" x="1638.07" y="-304.5" font-family="Times,serif" font-size="14.00"> + setVolume(Clip, int) : void</text>
|
||||
<text text-anchor="start" x="1638.07" y="-287.7" font-family="Times,serif" font-size="14.00"> + playMusic() : void</text>
|
||||
<text text-anchor="start" x="1638.07" y="-270.9" font-family="Times,serif" font-size="14.00"> + stopMusic() : void</text>
|
||||
<polyline fill="none" stroke="black" points="1630.07,-262.7 1812.62,-262.7"/>
|
||||
<text text-anchor="start" x="1638.07" y="-246.1" font-family="Times,serif" font-size="14.00">playingSound : boolean</text>
|
||||
<text text-anchor="start" x="1638.07" y="-229.3" font-family="Times,serif" font-size="14.00"> soundClip : Clip</text>
|
||||
<text text-anchor="start" x="1638.07" y="-212.5" font-family="Times,serif" font-size="14.00"> playingMusic : boolean</text>
|
||||
<text text-anchor="start" x="1638.07" y="-195.7" font-family="Times,serif" font-size="14.00"> musicClip : Clip</text>
|
||||
</g>
|
||||
<!-- SoundLoader -->
|
||||
<g id="node9" class="node">
|
||||
<title>SoundLoader</title>
|
||||
<polygon fill="none" stroke="black" points="1830.71,-296.3 1830.71,-370.7 2001.98,-370.7 2001.98,-296.3 1830.71,-296.3"/>
|
||||
<text text-anchor="middle" x="1916.35" y="-354.1" font-family="Times,serif" font-size="14.00">SoundLoader</text>
|
||||
<polyline fill="none" stroke="black" points="1830.71,-345.9 2001.98,-345.9"/>
|
||||
<text text-anchor="start" x="1838.71" y="-329.3" font-family="Times,serif" font-size="14.00">+ SoundLoader() : </text>
|
||||
<polyline fill="none" stroke="black" points="1830.71,-321.1 2001.98,-321.1"/>
|
||||
<text text-anchor="start" x="1838.71" y="-304.5" font-family="Times,serif" font-size="14.00">+ loadMusic(String) : Clip?</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 13 KiB |