-
Notifications
You must be signed in to change notification settings - Fork 0
/
Diagram.puml
76 lines (68 loc) · 1.98 KB
/
Diagram.puml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
@startuml Diagram
class BoardApp extends Application {
+static void main(String[] args)
+void start(Stage primaryStage)
}
class BoardController {
-AnchorPane root
-Button save
-Button load
+static Group marbleGroup
+static CheckBox highlightMoves
+static CheckBox enforceMoves
+static Marble selectedMarble
-final static List<Hole> holes
+void initialize()
-void createHoleObjects()
-int posIdNumToInt(String posIdNum)
+static Hole getHole(int[] neighbourCoordinate)
+static void createMarble(String holeId, String color)
-void setupClickHandler(Node node)
+static void resetAllMarbleColors()
+static void cleanSlateMarbles()
+static void resetAllHoleColors()
}
class Hole {
-final Circle circle
-final int[] coordinates
-boolean occupied
-final List<Hole> neighbours
+Hole(Circle circle, int[] coordinates)
+Circle getCircle()
+int[] getCoordinates()
+boolean isOccupied()
+List<Hole> getNeighbours()
+void setOccupied(boolean occupied)
+void findNeighbours()
-void setupClickHandler()
}
class Marble extends Circle {
-final Color color
-final String army
-Hole hole
-static final Map<String, Color> colors
+Marble(Hole hole, String color)
+Color getColor()
+String getArmy()
+Hole getHole()
+void resetColor()
+void move(Hole hole)
-void highlight()
-void highlightLegalMoves()
-List<Hole> findHoles(Hole currentHole)
-List<Hole> findJumpHoles(Hole currentHole, List<Hole> jumpHoles)
-boolean occupiedOnSameAxis(Hole occupiedHoleNeighbour, Hole currentHole)
-void setupClickHandler()
}
interface IFileManager
class FileManager implements IFileManager {
+static void load(String filePath)
+static void save(String filePath)
+static String selectorWindow(String title, boolean save)
}
BoardApp o-- BoardController
BoardController o-- Hole
BoardController o-- Marble
BoardController o-- IFileManager
Hole *-- Marble
@enduml