Skip to content

Commit 7383aff

Browse files
author
TheodorDM
committed
Added such groupes of classes as Graphics, Interface and AI in ClassDiagram
1 parent 9a1596d commit 7383aff

2 files changed

Lines changed: 169 additions & 0 deletions

File tree

Arch_description/ClassDiagram.png

69.7 KB
Loading

Arch_description/ClassDiagram.txt

Lines changed: 169 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,169 @@
1+
@startuml
2+
3+
package Interface_facilities {
4+
class Interface {
5+
-Hand hand
6+
-Playing_field
7+
+void description(Card card)
8+
+void display_cards()
9+
+void put(Card card)
10+
}
11+
}
12+
13+
14+
15+
package Graphics {
16+
class Pl_field_graph {
17+
+void display_pl_field(Playing_field PF)
18+
}
19+
class Hand_graph {
20+
+void display_hand(Hand hand)
21+
}
22+
}
23+
24+
25+
26+
27+
package AI_facilities {
28+
class AI {
29+
+Card determine_move()
30+
+void move(Card card)
31+
}
32+
}
33+
34+
35+
36+
package Gameplay {
37+
38+
class Playing_field {
39+
-Deck deck_player1
40+
-Deck deck_player2
41+
42+
-Deck dump_player1
43+
-Deck dump_player2
44+
45+
-vector<Creature*> melee_player1
46+
-vector<Creature*> archers_player1
47+
-vector<Creature*> siege_player1
48+
49+
-vector<Creature*> melee_player2
50+
-vector<Creature*> archers_player2
51+
-vector<Creature*> siege_player2
52+
53+
-uint strength_player1
54+
-uint strength_player2
55+
56+
-vector<"Line spell"> line_spells
57+
58+
+void enum(vector<Creature*> line)
59+
+void cleaning()
60+
}
61+
62+
63+
class Deck {
64+
-vector<Creature*>
65+
66+
+void pull()
67+
+void insert()
68+
}
69+
70+
class Hand {
71+
-Deck deck
72+
+void put(Card card)
73+
+void enum()
74+
}
75+
76+
77+
78+
abstract class Card {
79+
-string title
80+
+void pull()
81+
}
82+
83+
84+
abstract class Spell {
85+
-string description
86+
+void describe()
87+
+void interact()
88+
}
89+
90+
91+
class "Line spell" {
92+
-uint multiple
93+
+void interact()
94+
}
95+
96+
class "General purpose spell" {
97+
+void interact()
98+
}
99+
100+
101+
102+
class Creature {
103+
-uint strength
104+
-"Special ability" spAb
105+
}
106+
107+
abstract class "Special ability" {
108+
-string description
109+
+void describe()
110+
+void interact()
111+
}
112+
113+
114+
115+
class "Hero" {
116+
+void interact()
117+
}
118+
class "Spy" {
119+
+void interact()
120+
}
121+
class "Strong bond" {
122+
+void interact()
123+
}
124+
class "Medic" {
125+
+void interact()
126+
}
127+
class "Surge of strength" {
128+
+void interact()
129+
}
130+
class "Using a spell" {
131+
-"Line spell" spell
132+
+void interact()
133+
}
134+
class "Doppelganger" {
135+
+void interact()
136+
}
137+
}
138+
139+
140+
141+
Hand_graph <-- Hand
142+
Pl_field_graph <-- Playing_field
143+
144+
Interface *-- Playing_field
145+
146+
Playing_field *-- Deck
147+
Deck o-- Card
148+
Deck <|--* Hand
149+
150+
Interface *-- Hand
151+
AI o-- Interface
152+
153+
Card <|-- Creature
154+
Card <|-- Spell
155+
156+
Creature *-- "Special ability"
157+
Spell <|-- "General purpose spell"
158+
Spell <|-- "Line spell"
159+
160+
161+
"Special ability" <|-- Hero
162+
"Special ability" <|-- Spy
163+
"Special ability" <|-- "Strong bond"
164+
"Special ability" <|-- Medic
165+
"Special ability" <|-- "Surge of strength"
166+
"Special ability" <|-- "Using a spell"
167+
"Line spell" --o "Using a spell"
168+
"Special ability" <|-- Doppelganger
169+
@enduml

0 commit comments

Comments
 (0)