-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathVRChess_ClassDiagram.drawio
More file actions
372 lines (372 loc) · 36 KB
/
VRChess_ClassDiagram.drawio
File metadata and controls
372 lines (372 loc) · 36 KB
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
<mxfile host="app.diagrams.net" modified="2023-12-28T08:26:43.909Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" etag="w54N72nG1v3_2m6drjs3" version="22.1.15" type="github">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
<mxGraphModel dx="2206" dy="1188" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="2336" pageHeight="1654" math="0" shadow="0">
<root>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="zkfFHV4jXpPFQw0GAbJ--13" value="ChessAI
" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="1168" y="450" width="160" height="242" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--14" value="NPCMove()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="zkfFHV4jXpPFQw0GAbJ--13" vertex="1">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-147" value="Think()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="zkfFHV4jXpPFQw0GAbJ--13">
<mxGeometry y="52" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-148" value="AlphaBeta()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="zkfFHV4jXpPFQw0GAbJ--13">
<mxGeometry y="78" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-150" value="StaticEvaluationFunction()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="zkfFHV4jXpPFQw0GAbJ--13">
<mxGeometry y="104" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-151" value="isGameOver()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="zkfFHV4jXpPFQw0GAbJ--13">
<mxGeometry y="130" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-152" value="Move()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="zkfFHV4jXpPFQw0GAbJ--13">
<mxGeometry y="156" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-153" value="Undo()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="zkfFHV4jXpPFQw0GAbJ--13">
<mxGeometry y="182" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-154" value="Shuffle()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="zkfFHV4jXpPFQw0GAbJ--13">
<mxGeometry y="208" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-8" value="" style="group;fontStyle=1" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="860" y="720" width="160" height="209" as="geometry" />
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--0" value="BoardManager" style="swimlane;fontStyle=2;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="YyBfLoDIDOj0z5eIzJVB-8" vertex="1">
<mxGeometry y="29" width="160" height="258" as="geometry">
<mxRectangle x="230" y="140" width="160" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--1" value="SpawnAllChessmans()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="zkfFHV4jXpPFQw0GAbJ--0" vertex="1">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--2" value="SpawnChessMan()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" parent="zkfFHV4jXpPFQw0GAbJ--0" vertex="1">
<mxGeometry y="52" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--3" value="MoveChessman()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" parent="zkfFHV4jXpPFQw0GAbJ--0" vertex="1">
<mxGeometry y="78" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-79" value="Move()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="zkfFHV4jXpPFQw0GAbJ--0">
<mxGeometry y="104" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-80" value="isCheckMate()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="zkfFHV4jXpPFQw0GAbJ--0">
<mxGeometry y="130" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-81" value="EndGame()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="zkfFHV4jXpPFQw0GAbJ--0">
<mxGeometry y="156" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--4" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="zkfFHV4jXpPFQw0GAbJ--0" vertex="1">
<mxGeometry y="182" width="160" height="8" as="geometry" />
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--5" value="ChessAI" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="zkfFHV4jXpPFQw0GAbJ--0" vertex="1">
<mxGeometry y="190" width="160" height="30" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-7" value="<span>전체적인 움직임 관리</span>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=0" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-8">
<mxGeometry x="20" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-19" value="King" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1450" y="732.36" width="160" height="143.63809523809522" as="geometry">
<mxRectangle x="1400" y="676.5" width="170" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-20" value="Base.PossibleMoves()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-19">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-78" value="KingMove()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-19">
<mxGeometry y="52" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-118" value="CheckCastlingMoves()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-19">
<mxGeometry y="78" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-77" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-19">
<mxGeometry y="104" width="160" height="9.638095238095238" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-112" value="value = 900" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-19">
<mxGeometry y="113.63809523809523" width="160" height="30" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-36" value="CH_GrabInterable" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="540" y="969" width="160" height="90" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-37" value="Base.Grab()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-36">
<mxGeometry y="26" width="160" height="24" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-66" value="Base.Drop()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-36">
<mxGeometry y="50" width="160" height="24" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-46" value="" style="endArrow=block;html=1;rounded=0;endFill=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="310" y="980" as="sourcePoint" />
<mxPoint x="510" y="980" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-47" value="XRGrabInteractable 상속" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;" connectable="0" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-46">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-159" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shape=flexArrow;startArrow=block;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="YyBfLoDIDOj0z5eIzJVB-50" target="YyBfLoDIDOj0z5eIzJVB-51">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-160" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="YyBfLoDIDOj0z5eIzJVB-50" target="zkfFHV4jXpPFQw0GAbJ--3">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="770" y="535" />
<mxPoint x="770" y="840" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-50" value="AI Turn" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1;fontSize=20;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="555" y="520" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-51" value="Man Turn" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1;fontSize=20;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="555" y="930" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-54" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1170" y="787" width="160" height="253" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-4" value="Chessman" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-54">
<mxGeometry y="36.14285714285714" width="160" height="216.85714285714283" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-5" value="SetPosition()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;spacingTop=0;spacingBottom=5;whiteSpace=wrap;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-4">
<mxGeometry y="30" width="160" height="30" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-70" value="Move()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;spacingTop=0;spacingBottom=5;whiteSpace=wrap;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-4">
<mxGeometry y="60" width="160" height="30" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-71" value="PossibleMoves()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;spacingTop=0;spacingBottom=5;whiteSpace=wrap;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-4">
<mxGeometry y="90" width="160" height="30" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-72" value="InDanger()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;spacingTop=0;spacingBottom=5;whiteSpace=wrap;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-4">
<mxGeometry y="120" width="160" height="30" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-6" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-4">
<mxGeometry y="150" width="160" height="9.638095238095238" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-164" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=classic;startFill=1;" edge="1" parent="YyBfLoDIDOj0z5eIzJVB-54" source="YyBfLoDIDOj0z5eIzJVB-52">
<mxGeometry relative="1" as="geometry">
<mxPoint x="80.00000000000045" y="-87" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-52" value="체스의 위치 및 움직임" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-54">
<mxGeometry x="35" width="90" height="36.14285714285714" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-74" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="YyBfLoDIDOj0z5eIzJVB-37" target="zkfFHV4jXpPFQw0GAbJ--7">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-84" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="YyBfLoDIDOj0z5eIzJVB-4" target="zkfFHV4jXpPFQw0GAbJ--0">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1090" y="920" />
<mxPoint x="1090" y="870" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-137" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="YyBfLoDIDOj0z5eIzJVB-86">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1330" y="840" as="targetPoint" />
<Array as="points">
<mxPoint x="1390" y="948" />
<mxPoint x="1390" y="840" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-86" value="Queen" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1450" y="886" width="160" height="123.5" as="geometry">
<mxRectangle x="1400" y="676.5" width="170" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-87" value="Base.PossibleMoves()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-86">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-88" value="QueenMove()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-86">
<mxGeometry y="52" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-89" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-86">
<mxGeometry y="78" width="160" height="9.638095238095238" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-113" value="value = 90" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-86">
<mxGeometry y="87.63809523809523" width="160" height="30" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-95" value="Bishup" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1450" y="1025.8200000000002" width="160" height="123.5" as="geometry">
<mxRectangle x="1400" y="676.5" width="170" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-96" value="Base.PossibleMoves()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-95">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-97" value="BishopMove" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-95">
<mxGeometry y="52" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-98" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-95">
<mxGeometry y="78" width="160" height="9.638095238095238" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-114" value="value = 30" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-95">
<mxGeometry y="87.63809523809523" width="160" height="30" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-99" value="Knight" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1450" y="1156" width="160" height="123.5" as="geometry">
<mxRectangle x="1400" y="676.5" width="170" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-100" value="Base.PossibleMoves()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-99">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-101" value="knightMove()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-99">
<mxGeometry y="52" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-102" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-99">
<mxGeometry y="78" width="160" height="9.638095238095238" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-115" value="value = 30" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-99">
<mxGeometry y="87.63809523809523" width="160" height="30" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-142" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="YyBfLoDIDOj0z5eIzJVB-103">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1330" y="840" as="targetPoint" />
<Array as="points">
<mxPoint x="1390" y="1348" />
<mxPoint x="1390" y="840" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-103" value="Rook" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1450" y="1286" width="160" height="123.5" as="geometry">
<mxRectangle x="1400" y="676.5" width="170" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-104" value="Base.PossibleMoves()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-103">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-105" value="RookMove()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-103">
<mxGeometry y="52" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-106" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-103">
<mxGeometry y="78" width="160" height="9.638095238095238" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-116" value="value = 50" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-103">
<mxGeometry y="87.63809523809523" width="160" height="30" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-107" value="Pawn" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1450" y="1426" width="160" height="91.63809523809525" as="geometry">
<mxRectangle x="1360" y="1320" width="170" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-108" value="Base.PossibleMoves()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-107">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-110" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-107">
<mxGeometry y="52" width="160" height="9.638095238095238" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-117" value="value = 10" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-107">
<mxGeometry y="61.63809523809524" width="160" height="30" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-134" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=1;startArrow=block;startFill=0;endArrow=none;endFill=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="YyBfLoDIDOj0z5eIzJVB-4" target="YyBfLoDIDOj0z5eIzJVB-19">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1390" y="840" />
<mxPoint x="1390" y="740" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-139" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.999;entryY=0.079;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=block;endFill=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="YyBfLoDIDOj0z5eIzJVB-95" target="YyBfLoDIDOj0z5eIzJVB-4">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1390" y="1088" />
<mxPoint x="1390" y="840" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-144" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="YyBfLoDIDOj0z5eIzJVB-71" target="zkfFHV4jXpPFQw0GAbJ--7">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1090" y="940" />
<mxPoint x="1090" y="1108" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-145" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="YyBfLoDIDOj0z5eIzJVB-66" target="zkfFHV4jXpPFQw0GAbJ--3">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="770" y="1031" />
<mxPoint x="770" y="840" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-141" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="YyBfLoDIDOj0z5eIzJVB-99" target="YyBfLoDIDOj0z5eIzJVB-4">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1330" y="710" as="targetPoint" />
<Array as="points">
<mxPoint x="1390" y="1218" />
<mxPoint x="1390" y="840" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-146" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="860" y="1040" width="160" height="170" as="geometry" />
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--6" value="BoardHighlight" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="YyBfLoDIDOj0z5eIzJVB-146" vertex="1">
<mxGeometry y="30" width="160" height="140" as="geometry">
<mxRectangle x="130" y="380" width="160" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--7" value="HighlightPossibleMoves()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="zkfFHV4jXpPFQw0GAbJ--6" vertex="1">
<mxGeometry y="26" width="160" height="24" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-73" value="deleteHightlight()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="zkfFHV4jXpPFQw0GAbJ--6">
<mxGeometry y="50" width="160" height="24" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-30" value="갈 수 있는 위치" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-146">
<mxGeometry x="30" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-143" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="YyBfLoDIDOj0z5eIzJVB-107">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1330" y="840" as="targetPoint" />
<Array as="points">
<mxPoint x="1390" y="1440" />
<mxPoint x="1390" y="840" />
<mxPoint x="1330" y="840" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-161" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="zkfFHV4jXpPFQw0GAbJ--5" target="zkfFHV4jXpPFQw0GAbJ--14">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1100" y="954" />
<mxPoint x="1100" y="489" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-173" value="State" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1440" y="450" width="160" height="143.63809523809522" as="geometry">
<mxRectangle x="1400" y="676.5" width="170" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-174" value="SetState()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-173">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-177" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-173">
<mxGeometry y="52" width="160" height="9.638095238095238" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-178" value="상태변수 저장" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-173">
<mxGeometry y="61.63809523809524" width="160" height="30" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-179" value="이전 위치 새위치 등등" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="YyBfLoDIDOj0z5eIzJVB-173">
<mxGeometry y="91.63809523809525" width="160" height="30" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-180" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=block;startFill=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="YyBfLoDIDOj0z5eIzJVB-153" target="YyBfLoDIDOj0z5eIzJVB-173">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YyBfLoDIDOj0z5eIzJVB-181" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=block;startFill=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="YyBfLoDIDOj0z5eIzJVB-152" target="YyBfLoDIDOj0z5eIzJVB-173">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>