added JavaDocs, artefacts and commit for Beck_Cedric for Einarbeitungsaufgabe/Week2

Cedric Beck
2024-10-12 17:08:31 +02:00
parent 09e138f8b4
commit bee954e4bc
10 changed files with 964 additions and 2 deletions

@@ -0,0 +1,337 @@
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36" version="24.7.17">
<diagram name="Page-1" id="2a216829-ef6e-dabb-86c1-c78162f3ba2b">
<mxGraphModel dx="1434" dy="-362" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" background="none" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="9We2MKFiq2JLnH1zAsmh-3" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="80" y="1120" width="1040" height="160" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-4" value="Client 1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=-90;" vertex="1" parent="1">
<mxGeometry x="70" y="1185" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-7" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="80" y="1280" width="1040" height="160" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-8" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="80" y="1440" width="1040" height="160" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-9" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="40" y="1120" width="40" height="480" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-10" value="Battleship Game" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=-90;" vertex="1" parent="1">
<mxGeometry x="-55" y="1345" width="230" height="30" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-11" value="Client 2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=-90;" vertex="1" parent="1">
<mxGeometry x="70" y="1505" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-12" value="Server" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=-90;" vertex="1" parent="1">
<mxGeometry x="70" y="1345" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-13" value="Setup" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;fillStyle=solid;" vertex="1" parent="1">
<mxGeometry x="120" y="1160" width="80" height="400" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-14" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="200" y="1199.6" as="sourcePoint" />
<mxPoint x="240" y="1199.6" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-15" value="Player 1 selects&lt;br&gt;shooting position" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="240" y="1180" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-16" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="360" y="1199.5" as="sourcePoint" />
<mxPoint x="400" y="1199.5" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-17" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="400" y="1180" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-18" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="405" y="1185" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-19" value="" style="shape=message;whiteSpace=wrap;html=1;fillColor=default;" vertex="1" parent="1">
<mxGeometry x="411.25" y="1192.5" width="17.5" height="15" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-26" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="200" y="1359.5" as="sourcePoint" />
<mxPoint x="398.75" y="1360.5" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-27" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1" source="9We2MKFiq2JLnH1zAsmh-31">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="419.65999999999997" y="1220" as="sourcePoint" />
<mxPoint x="419.66" y="1340" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-28" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="400" y="1340" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-29" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="405" y="1345" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-30" value="" style="shape=message;whiteSpace=wrap;html=1;fillColor=#636363;" vertex="1" parent="1">
<mxGeometry x="411.25" y="1352.5" width="17.5" height="15" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-32" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1" target="9We2MKFiq2JLnH1zAsmh-31">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="419.65999999999997" y="1220" as="sourcePoint" />
<mxPoint x="419.66" y="1340" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-31" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="415" y="1220" width="10" height="10" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-35" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="440" y="1359.6599999999999" as="sourcePoint" />
<mxPoint x="480" y="1359.6599999999999" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-36" value="send&lt;br&gt;Shoot&lt;br&gt;Message" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="375" y="1130" width="90" height="42.5" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-37" value="process&lt;br&gt;shot" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="480" y="1340" width="60" height="40" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-38" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="540" y="1359.6599999999999" as="sourcePoint" />
<mxPoint x="580" y="1359.6599999999999" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-39" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="580" y="1340" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-40" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="585" y="1345" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-41" value="" style="shape=message;whiteSpace=wrap;html=1;fillColor=default;" vertex="1" parent="1">
<mxGeometry x="591.25" y="1352.5" width="17.5" height="15" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-42" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="620" y="1359.6599999999999" as="sourcePoint" />
<mxPoint x="660" y="1359.6599999999999" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-43" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="660" y="1340" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-44" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="665" y="1345" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-45" value="" style="shape=message;whiteSpace=wrap;html=1;fillColor=default;" vertex="1" parent="1">
<mxGeometry x="671.25" y="1352.5" width="17.5" height="15" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-46" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="580" y="1180" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-47" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="585" y="1185" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-48" value="" style="shape=message;whiteSpace=wrap;html=1;fillColor=#636363;" vertex="1" parent="1">
<mxGeometry x="591.25" y="1192.5" width="17.5" height="15" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-49" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="660" y="1500" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-50" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="665" y="1505" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-51" value="" style="shape=message;whiteSpace=wrap;html=1;fillColor=#636363;" vertex="1" parent="1">
<mxGeometry x="671.25" y="1512.5" width="17.5" height="15" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-54" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="9We2MKFiq2JLnH1zAsmh-57">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="599.66" y="1332" as="sourcePoint" />
<mxPoint x="599.66" y="1220" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-55" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="9We2MKFiq2JLnH1zAsmh-59">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="680" y="1390" as="sourcePoint" />
<mxPoint x="679.66" y="1500" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-56" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="199" y="1519.66" as="sourcePoint" />
<mxPoint x="659" y="1519.66" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-58" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="9We2MKFiq2JLnH1zAsmh-39" target="9We2MKFiq2JLnH1zAsmh-57">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="600" y="1340" as="sourcePoint" />
<mxPoint x="599.66" y="1220" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-57" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="595" y="1330" width="10" height="10" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-60" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="9We2MKFiq2JLnH1zAsmh-43" target="9We2MKFiq2JLnH1zAsmh-59">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="680" y="1380" as="sourcePoint" />
<mxPoint x="679.66" y="1500" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-59" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="675" y="1380" width="10" height="10" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-61" value="send&lt;br&gt;Effect&lt;br&gt;Message" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="570" y="1380" width="60" height="50" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-62" value="send&lt;br&gt;Effect&lt;br&gt;Message" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="650" y="1290" width="60" height="50" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-63" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="9We2MKFiq2JLnH1zAsmh-17" target="9We2MKFiq2JLnH1zAsmh-46">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="580" y="1440" as="sourcePoint" />
<mxPoint x="630" y="1390" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-93" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;curved=0;strokeColor=#FF0000;" edge="1" parent="1" source="9We2MKFiq2JLnH1zAsmh-65" target="9We2MKFiq2JLnH1zAsmh-79">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-94" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;curved=0;strokeColor=#FF0000;" edge="1" parent="1" source="9We2MKFiq2JLnH1zAsmh-65" target="9We2MKFiq2JLnH1zAsmh-76">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-65" value="" style="shape=mxgraph.bpmn.shape;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;perimeter=rhombusPerimeter;background=gateway;outline=none;symbol=parallelGw;strokeColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="770" y="1340" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-66" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="620" y="1199.58" as="sourcePoint" />
<mxPoint x="660" y="1199.58" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-67" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="700" y="1519.58" as="sourcePoint" />
<mxPoint x="740" y="1519.58" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-68" value="update &lt;br&gt;map &amp;amp; view" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="660" y="1180" width="70" height="40" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-69" value="update &lt;br&gt;map &amp;amp; view" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="740" y="1500" width="70" height="40" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-72" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="810" y="1519.6599999999999" as="sourcePoint" />
<mxPoint x="850" y="1519.6599999999999" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-73" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="850" y="1500" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-74" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="855" y="1505" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-75" value="" style="shape=message;whiteSpace=wrap;html=1;fillColor=default;strokeColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="861.25" y="1512.5" width="17.5" height="15" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-99" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;curved=0;strokeColor=#FF0000;" edge="1" parent="1" source="9We2MKFiq2JLnH1zAsmh-76" target="9We2MKFiq2JLnH1zAsmh-97">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-76" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="850" y="1380" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-77" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="855" y="1385" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-78" value="" style="shape=message;whiteSpace=wrap;html=1;fillColor=#636363;strokeColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="861.25" y="1392.5" width="17.5" height="15" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-98" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;curved=0;strokeColor=#FF0000;" edge="1" parent="1" source="9We2MKFiq2JLnH1zAsmh-79" target="9We2MKFiq2JLnH1zAsmh-97">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-79" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="850" y="1300" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-80" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="855" y="1305" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-81" value="" style="shape=message;whiteSpace=wrap;html=1;fillColor=#636363;strokeColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="861.25" y="1312.5" width="17.5" height="15" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-82" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="850" y="1180" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-83" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="855" y="1185" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-84" value="" style="shape=message;whiteSpace=wrap;html=1;fillColor=default;strokeColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="861.25" y="1192.5" width="17.5" height="15" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-85" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="9We2MKFiq2JLnH1zAsmh-68" target="9We2MKFiq2JLnH1zAsmh-82">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="640" y="1480" as="sourcePoint" />
<mxPoint x="690" y="1430" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-86" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;strokeColor=#FF0000;" edge="1" parent="1" source="9We2MKFiq2JLnH1zAsmh-88">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="870" y="1220" as="sourcePoint" />
<mxPoint x="870" y="1300" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-87" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;strokeColor=#FF0000;" edge="1" parent="1" source="9We2MKFiq2JLnH1zAsmh-90">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="870" y="1500" as="sourcePoint" />
<mxPoint x="869.6600000000001" y="1420" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-89" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1" target="9We2MKFiq2JLnH1zAsmh-88">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="870" y="1220" as="sourcePoint" />
<mxPoint x="870" y="1300" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-88" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="865" y="1220" width="10" height="10" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-91" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1" target="9We2MKFiq2JLnH1zAsmh-90">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="870" y="1500" as="sourcePoint" />
<mxPoint x="869.6600000000001" y="1420" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-90" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="865" y="1490" width="10" height="10" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-92" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" target="9We2MKFiq2JLnH1zAsmh-65">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="700" y="1360" as="sourcePoint" />
<mxPoint x="490" y="1369.6599999999999" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-95" value="send&lt;br&gt;Animation&lt;br&gt;Message" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="840" y="1546" width="60" height="50" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-96" value="send&lt;br&gt;Animation&lt;br&gt;Message" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="840" y="1126.25" width="60" height="50" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-102" 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="1" source="9We2MKFiq2JLnH1zAsmh-97" target="9We2MKFiq2JLnH1zAsmh-100">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-97" value="" style="shape=mxgraph.bpmn.shape;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;perimeter=rhombusPerimeter;background=gateway;outline=none;symbol=parallelGw;strokeColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="930" y="1340" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-100" value="Game play" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;fillStyle=solid;" vertex="1" parent="1">
<mxGeometry x="1000" y="1160" width="80" height="400" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-101" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.02;entryY=0.099;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="9We2MKFiq2JLnH1zAsmh-82" target="9We2MKFiq2JLnH1zAsmh-100">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="9We2MKFiq2JLnH1zAsmh-103" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.015;entryY=0.901;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="9We2MKFiq2JLnH1zAsmh-73" target="9We2MKFiq2JLnH1zAsmh-100">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 470 KiB

@@ -0,0 +1,333 @@
<mxfile host="Electron" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.7.17 Chrome/128.0.6613.36 Electron/32.0.1 Safari/537.36" version="24.7.17">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
<mxGraphModel dx="775" dy="452" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="ycaIUuoJMlgRVzuP7acG-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=openThin;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-0" target="ycaIUuoJMlgRVzuP7acG-1" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-0" value="ShipMap&lt;div&gt;DTO&lt;/div&gt;" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="160" y="880" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=open;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-1" target="ycaIUuoJMlgRVzuP7acG-2" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-1" value="&lt;div&gt;Battleship&lt;br&gt;DTO&lt;/div&gt;" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="160" y="800" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-2" value="&amp;lt;&amp;lt;enum&amp;gt;&amp;gt;&lt;div&gt;Rotation&lt;/div&gt;" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="160" y="720" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;endArrow=open;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-10" target="ycaIUuoJMlgRVzuP7acG-2" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-10" value="Battleship" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="280" y="720" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-11" value="Shell" style="html=1;whiteSpace=wrap;strokeColor=#FF0000;fontColor=#FF0000;fillColor=#FFCCCC;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="400" y="720" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-20" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=block;endFill=0;curved=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-12" target="ycaIUuoJMlgRVzuP7acG-13" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-12" value="Shot" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="520" y="720" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-13" value="&amp;lt;&amp;lt;interface&amp;gt;&amp;gt;&lt;div&gt;&lt;i&gt;Item&lt;/i&gt;&lt;/div&gt;" style="html=1;whiteSpace=wrap;fillColor=#3333FF;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="400" y="600" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-15" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=block;endFill=0;curved=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-10" target="ycaIUuoJMlgRVzuP7acG-13" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="340" y="720" />
<mxPoint x="340" y="680" />
<mxPoint x="440" y="680" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-16" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=0;strokeColor=#FF0000;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-11" target="ycaIUuoJMlgRVzuP7acG-13" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-24" 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;endArrow=open;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-21" target="ycaIUuoJMlgRVzuP7acG-10" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-25" value="*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="ycaIUuoJMlgRVzuP7acG-24" vertex="1" connectable="0">
<mxGeometry x="0.1038" relative="1" as="geometry">
<mxPoint x="-14" y="62" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-29" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=block;endFill=0;curved=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-21" target="ycaIUuoJMlgRVzuP7acG-28" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-21" value="Map&lt;br&gt;Message" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="280" y="520" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-31" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=block;endFill=0;curved=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-22" target="ycaIUuoJMlgRVzuP7acG-28" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-22" value="Shoot&lt;br&gt;Message" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="520" y="520" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-32" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;endArrow=block;endFill=0;strokeColor=#FF0000;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-23" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="440.0769230769231" y="440" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-23" value="Animation&lt;br&gt;Message" style="html=1;whiteSpace=wrap;strokeColor=#FF0000;fontColor=#FF0000;fillColor=#FFCCCC;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="400" y="520" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-35" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=block;endFill=0;curved=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-28" target="ycaIUuoJMlgRVzuP7acG-34" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-28" value="&lt;i&gt;Client&lt;br&gt;Message&lt;/i&gt;" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="400" y="400" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-36" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;endArrow=block;endFill=0;curved=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-33" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="600" y="320" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-33" value="&lt;i&gt;Server&lt;br&gt;Message&lt;/i&gt;" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="720" y="400" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-34" value="&lt;i&gt;AbstractMessage&lt;/i&gt;&lt;br&gt;(from JME)" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="550" y="280" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-42" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=block;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-37" target="ycaIUuoJMlgRVzuP7acG-33" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-37" value="StartBattle&lt;br&gt;Message" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="720" y="800" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-40" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=block;endFill=0;curved=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-38" target="ycaIUuoJMlgRVzuP7acG-33" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="640" y="720" />
<mxPoint x="760" y="720" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-45" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.75;exitDx=0;exitDy=0;entryX=0.75;entryY=1;entryDx=0;entryDy=0;endArrow=open;endFill=0;curved=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-38" target="ycaIUuoJMlgRVzuP7acG-10" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="340" y="830" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-46" value="*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="ycaIUuoJMlgRVzuP7acG-45" vertex="1" connectable="0">
<mxGeometry x="0.8848" y="-2" relative="1" as="geometry">
<mxPoint x="10" y="-10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-47" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.25;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=open;endFill=0;curved=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-38" target="ycaIUuoJMlgRVzuP7acG-12" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-38" value="Effect&lt;br&gt;Message" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="600" y="800" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-43" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=0;exitDx=0;exitDy=0;endArrow=block;endFill=0;curved=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-39" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="760" y="440" as="targetPoint" />
<Array as="points">
<mxPoint x="860" y="720" />
<mxPoint x="761" y="720" />
<mxPoint x="761" y="440" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-39" value="Game&lt;br&gt;Details" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="840" y="800" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-78" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0.004;entryY=0.717;entryDx=0;entryDy=0;entryPerimeter=0;curved=0;endArrow=open;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-49" target="ycaIUuoJMlgRVzuP7acG-75" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1120" y="830" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-83" value="*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="ycaIUuoJMlgRVzuP7acG-78" vertex="1" connectable="0">
<mxGeometry x="0.8607" relative="1" as="geometry">
<mxPoint y="9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-79" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;curved=0;endArrow=open;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-49" target="ycaIUuoJMlgRVzuP7acG-74" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1220" y="820" />
<mxPoint x="1220" y="740" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-81" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;curved=0;endArrow=block;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-49" target="ycaIUuoJMlgRVzuP7acG-76" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1200" y="810" />
<mxPoint x="1200" y="700" />
<mxPoint x="1240" y="700" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-82" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;curved=0;endArrow=block;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-49" target="ycaIUuoJMlgRVzuP7acG-77" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1060" y="780" />
<mxPoint x="1160" y="780" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-49" value="&lt;i&gt;ClientState&lt;/i&gt;" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="1000" y="800" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-73" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;endArrow=open;endFill=0;curved=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-50" target="ycaIUuoJMlgRVzuP7acG-39" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-85" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;endArrow=open;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-50" target="ycaIUuoJMlgRVzuP7acG-84" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-86" value="3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="ycaIUuoJMlgRVzuP7acG-85" vertex="1" connectable="0">
<mxGeometry x="0.6887" relative="1" as="geometry">
<mxPoint x="10" y="-2" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-50" value="ClientGameLogic" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="990" y="720" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-61" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=block;endFill=0;curved=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-51" target="ycaIUuoJMlgRVzuP7acG-49" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-69" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;curved=0;endArrow=open;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-51" target="ycaIUuoJMlgRVzuP7acG-10" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-70" value="2" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="ycaIUuoJMlgRVzuP7acG-69" vertex="1" connectable="0">
<mxGeometry x="0.9474" y="-1" relative="1" as="geometry">
<mxPoint x="9" y="-6" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-51" value="Editor&lt;br&gt;State" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="700" y="920" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-62" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=block;endFill=0;curved=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-52" target="ycaIUuoJMlgRVzuP7acG-49" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-52" value="Wait&lt;br&gt;State" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="820" y="920" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-63" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;endArrow=block;endFill=0;curved=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-53" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1040.0000000000002" y="840" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-53" value="Battle&lt;br&gt;State" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="940" y="920" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-66" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=block;endFill=0;curved=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-55" target="ycaIUuoJMlgRVzuP7acG-49" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-55" value="Initial&lt;br&gt;State" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="1300" y="920" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-65" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=block;endFill=0;curved=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-56" target="ycaIUuoJMlgRVzuP7acG-49" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-56" value="GameOver&lt;br&gt;State" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="1180" y="920" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-64" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=block;endFill=0;curved=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-60" target="ycaIUuoJMlgRVzuP7acG-49" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-60" value="Animation&lt;br&gt;State" style="html=1;whiteSpace=wrap;strokeColor=#FF0000;fontColor=#FF0000;fillColor=#FFCCCC;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="1060" y="920" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-71" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;entryX=0.702;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=open;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1039.63" y="800" as="sourcePoint" />
<mxPoint x="1039.83" y="760" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-72" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.211;entryY=-0.017;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=open;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-50" target="ycaIUuoJMlgRVzuP7acG-49" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-74" value="&amp;lt;&amp;lt;interface&amp;gt;&amp;gt;&lt;div&gt;&lt;i&gt;ClientSender&lt;/i&gt;&lt;/div&gt;" style="html=1;whiteSpace=wrap;fillColor=#3333FF;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="1240" y="720" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-75" value="&amp;lt;&amp;lt;interface&amp;gt;&amp;gt;&lt;div&gt;&lt;i&gt;GameEvent&lt;br&gt;Listener&lt;/i&gt;&lt;/div&gt;" style="html=1;whiteSpace=wrap;fillColor=#3333FF;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="1240" y="795" width="80" height="50" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-76" value="&amp;lt;&amp;lt;interface&amp;gt;&amp;gt;&lt;div&gt;&lt;i&gt;Server&lt;br&gt;Interpreter&lt;/i&gt;&lt;/div&gt;" style="html=1;whiteSpace=wrap;fillColor=#3333FF;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="1220" y="595" width="80" height="50" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-77" value="&amp;lt;&amp;lt;interface&amp;gt;&amp;gt;&lt;div&gt;&lt;i&gt;GameEvent&lt;br&gt;Broker&lt;/i&gt;&lt;/div&gt;" style="html=1;whiteSpace=wrap;fillColor=#3333FF;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="1120" y="595" width="80" height="50" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-87" 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;endArrow=open;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-84" target="ycaIUuoJMlgRVzuP7acG-77" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-88" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;endArrow=open;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-84" target="ycaIUuoJMlgRVzuP7acG-13" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-89" value="*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="ycaIUuoJMlgRVzuP7acG-88" vertex="1" connectable="0">
<mxGeometry x="0.9453" y="-2" relative="1" as="geometry">
<mxPoint x="-2" y="13" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-84" value="ShipMap" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="1000" y="600" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="Z4i1nKLL7RMWcCH519xr-0" 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;endArrow=open;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-90" target="ycaIUuoJMlgRVzuP7acG-84" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-90" value="Player" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="1000" y="520" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-91" value="&amp;lt;&amp;lt;enum&amp;gt;&amp;gt;&lt;br&gt;ServerState" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="880" y="520" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-100" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=block;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-92" target="ycaIUuoJMlgRVzuP7acG-97" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-103" 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;endArrow=open;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-92" target="ycaIUuoJMlgRVzuP7acG-93" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-105" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;curved=0;endArrow=open;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-92" target="ycaIUuoJMlgRVzuP7acG-90" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="1GOzWsW_1mWyYOgaIzt5-0" value="*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="ycaIUuoJMlgRVzuP7acG-105">
<mxGeometry x="0.7726" y="-1" relative="1" as="geometry">
<mxPoint x="11" y="3" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-106" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;curved=0;endArrow=open;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-92" target="ycaIUuoJMlgRVzuP7acG-91" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-107" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;curved=0;endArrow=open;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-92" target="ycaIUuoJMlgRVzuP7acG-98" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-92" value="ServerGameLogic" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="930" y="400" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-101" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=block;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-93" target="ycaIUuoJMlgRVzuP7acG-95" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-93" value="BattleshipConfig" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="1110" y="400" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-104" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=block;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="ycaIUuoJMlgRVzuP7acG-94" target="ycaIUuoJMlgRVzuP7acG-93" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-94" value="Battleship&lt;br&gt;ClientConfig" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="1120" y="520" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-95" value="Config&lt;br&gt;(from Common)" style="html=1;whiteSpace=wrap;fillColor=#FF9933;fontColor=#000000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="1115" y="280" width="90" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-97" value="&amp;lt;&amp;lt;interface&amp;gt;&amp;gt;&lt;div&gt;&lt;i&gt;ClientInterpreter&lt;/i&gt;&lt;/div&gt;" style="html=1;whiteSpace=wrap;fillColor=#3333FF;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="935" y="280" width="90" height="40" as="geometry" />
</mxCell>
<mxCell id="ycaIUuoJMlgRVzuP7acG-98" value="&amp;lt;&amp;lt;interface&amp;gt;&amp;gt;&lt;div&gt;&lt;i&gt;ServerSender&lt;/i&gt;&lt;/div&gt;" style="html=1;whiteSpace=wrap;fillColor=#3333FF;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="810" y="280" width="80" height="40" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

@@ -0,0 +1,137 @@
<mxfile host="Electron" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.7.17 Chrome/128.0.6613.36 Electron/32.0.1 Safari/537.36" version="24.7.17">
<diagram name="Page-1" id="58cdce13-f638-feb5-8d6f-7d28b1aa9fa0">
<mxGraphModel dx="1888" dy="758" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1100" pageHeight="850" background="none" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="PvtSx2TE44ImXU76YJWu-1" value="" style="ellipse;html=1;shape=startState;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;fontFamily=Verdana;fontSize=12;align=center;direction=south;strokeColor=#FFFFFF;fillColor=default;" parent="1" vertex="1">
<mxGeometry x="120" y="122" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-2" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="160" y="142" as="sourcePoint" />
<mxPoint x="200" y="142" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="RBfQREDh2JjxDHH6yEw3-2" 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;" parent="1" source="PvtSx2TE44ImXU76YJWu-3" target="PvtSx2TE44ImXU76YJWu-4" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-3" value="Inital State" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="200" y="122" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="PvtSx2TE44ImXU76YJWu-4" target="PvtSx2TE44ImXU76YJWu-13" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-4" value="Editor State" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="200" y="200" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="CxJqoCwi-yU1Qsi8TlNJ-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeColor=#FF0000;" edge="1" parent="1" source="PvtSx2TE44ImXU76YJWu-5" target="PvtSx2TE44ImXU76YJWu-6">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-5" value="Battle State" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="320" y="440" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="CxJqoCwi-yU1Qsi8TlNJ-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeColor=#FF0000;" edge="1" parent="1" source="PvtSx2TE44ImXU76YJWu-6" target="CxJqoCwi-yU1Qsi8TlNJ-3">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-6" value="Animation State" style="rounded=1;whiteSpace=wrap;html=1;strokeColor=#FF0000;fontColor=#FF0000;" parent="1" vertex="1">
<mxGeometry x="440" y="520" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-7" value="Game over" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="440" y="750" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="PvtSx2TE44ImXU76YJWu-13" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="360" y="350" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="PvtSx2TE44ImXU76YJWu-13" target="PvtSx2TE44ImXU76YJWu-4" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-13" value="" style="rhombus;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="340" y="275" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-28" value="mapFinished" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="360" y="228" width="90" height="30" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-29" value="[harbor empty] /&lt;br&gt;send MapMessage" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="360" y="295" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-30" value="[otherwise]" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="240" y="288" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-33" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeColor=#FFFFFF;fontColor=default;" parent="1" source="CxJqoCwi-yU1Qsi8TlNJ-6" target="PvtSx2TE44ImXU76YJWu-7" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="480" y="648" as="sourcePoint" />
<mxPoint x="630" y="548" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-34" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeColor=#FFFFFF;fontColor=default;" parent="1" target="PvtSx2TE44ImXU76YJWu-5" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="460" y="638" as="sourcePoint" />
<mxPoint x="630" y="548" as="targetPoint" />
<Array as="points">
<mxPoint x="360" y="638" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-40" value="[otherwise]" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#FFFFFF;" parent="1" vertex="1">
<mxGeometry x="330" y="638" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="RBfQREDh2JjxDHH6yEw3-3" value="receivedGameDetails(details)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="240" y="162" width="170" height="30" as="geometry" />
</mxCell>
<mxCell id="RBfQREDh2JjxDHH6yEw3-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="RBfQREDh2JjxDHH6yEw3-4" target="PvtSx2TE44ImXU76YJWu-5" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="RBfQREDh2JjxDHH6yEw3-4" value="Wait State" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="320" y="350" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="RBfQREDh2JjxDHH6yEw3-7" value="receivedStartBattle(msg)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="360" y="400" width="140" height="30" as="geometry" />
</mxCell>
<mxCell id="RBfQREDh2JjxDHH6yEw3-11" value="[otherwise]" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#FF0000;" parent="1" vertex="1">
<mxGeometry x="540" y="560" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="CxJqoCwi-yU1Qsi8TlNJ-2" value="receivedEffect(msg)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="480" y="470" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="CxJqoCwi-yU1Qsi8TlNJ-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;strokeColor=#FF0000;" edge="1" parent="1" source="CxJqoCwi-yU1Qsi8TlNJ-3" target="PvtSx2TE44ImXU76YJWu-6">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="570" y="620" />
<mxPoint x="570" y="540" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="CxJqoCwi-yU1Qsi8TlNJ-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeColor=#FF0000;" edge="1" parent="1" source="CxJqoCwi-yU1Qsi8TlNJ-3" target="CxJqoCwi-yU1Qsi8TlNJ-6">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CxJqoCwi-yU1Qsi8TlNJ-3" value="" style="rhombus;whiteSpace=wrap;html=1;strokeColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="460" y="610" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="CxJqoCwi-yU1Qsi8TlNJ-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeColor=#FF0000;" edge="1" parent="1" source="CxJqoCwi-yU1Qsi8TlNJ-6" target="PvtSx2TE44ImXU76YJWu-7">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CxJqoCwi-yU1Qsi8TlNJ-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeColor=#FF0000;" edge="1" parent="1" source="CxJqoCwi-yU1Qsi8TlNJ-6" target="PvtSx2TE44ImXU76YJWu-5">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CxJqoCwi-yU1Qsi8TlNJ-6" value="" style="rhombus;whiteSpace=wrap;html=1;strokeColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="460" y="668" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="CxJqoCwi-yU1Qsi8TlNJ-12" value="[shootValue &amp;gt; 1]" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="470" y="630" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="CxJqoCwi-yU1Qsi8TlNJ-13" value="update(delta)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="369" y="566" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="CxJqoCwi-yU1Qsi8TlNJ-14" value="[otherwise]" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="330" y="680" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="CxJqoCwi-yU1Qsi8TlNJ-15" value="[game over]" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="460" y="700" width="130" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

@@ -0,0 +1,147 @@
<mxfile host="Electron" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.7.17 Chrome/128.0.6613.36 Electron/32.0.1 Safari/537.36" version="24.7.17">
<diagram name="Page-1" id="58cdce13-f638-feb5-8d6f-7d28b1aa9fa0">
<mxGraphModel dx="2266" dy="909" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1100" pageHeight="850" background="none" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="PvtSx2TE44ImXU76YJWu-1" value="" style="ellipse;html=1;shape=startState;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;fontFamily=Verdana;fontSize=12;align=center;direction=south;strokeColor=#FFFFFF;fillColor=default;" parent="1" vertex="1">
<mxGeometry x="120" y="122" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-2" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="160" y="142" as="sourcePoint" />
<mxPoint x="200" y="142" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-3" value="Wait" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="200" y="122" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="PvtSx2TE44ImXU76YJWu-4" target="PvtSx2TE44ImXU76YJWu-13" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-4" value="Set up" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="320" y="262" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-5" value="Battle" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="440" y="402" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="H67oRbjdkQPqhBt0_Uks-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeColor=#FF0000;" edge="1" parent="1" source="PvtSx2TE44ImXU76YJWu-6" target="H67oRbjdkQPqhBt0_Uks-4">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-6" value="Animation" style="rounded=1;whiteSpace=wrap;html=1;strokeColor=#FF0000;fontColor=#FF0000;" parent="1" vertex="1">
<mxGeometry x="440" y="600" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-7" value="Game over" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="640" y="700" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-8" value="" style="rhombus;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="340" y="192" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-9" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" target="PvtSx2TE44ImXU76YJWu-8" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="280" y="142" as="sourcePoint" />
<mxPoint x="330" y="92" as="targetPoint" />
<Array as="points">
<mxPoint x="360" y="142" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-10" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="360" y="212" as="sourcePoint" />
<mxPoint x="360" y="262" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-11" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="PvtSx2TE44ImXU76YJWu-8" target="PvtSx2TE44ImXU76YJWu-3" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="330" y="322" as="sourcePoint" />
<mxPoint x="380" y="272" as="targetPoint" />
<Array as="points">
<mxPoint x="240" y="202" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-16" 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;" parent="1" source="PvtSx2TE44ImXU76YJWu-13" target="PvtSx2TE44ImXU76YJWu-5" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="PvtSx2TE44ImXU76YJWu-13" target="PvtSx2TE44ImXU76YJWu-4" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-13" value="" style="rhombus;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="460" y="337" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeColor=#FF0000;" parent="1" edge="1" target="PvtSx2TE44ImXU76YJWu-36">
<mxGeometry relative="1" as="geometry">
<mxPoint x="520" y="421" as="sourcePoint" />
<mxPoint x="600" y="480" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-24" value="addPlayer(id)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="370" y="140" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-25" value="[players.size() = 2] / send GameDetail messages" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="370" y="220" width="280" height="30" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-26" value="[otherwise]" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="240" y="200" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-28" value="received MapMessage" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="480" y="290" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-29" value="[readyPlayers.size() = 2]" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="480" y="357" width="150" height="30" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-30" value="[otherwise]" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="360" y="350" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-31" value="received ShootMessage" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#FF0000;" parent="1" vertex="1">
<mxGeometry x="690" y="430" width="140" height="30" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-33" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeColor=#FFFFFF;" parent="1" target="PvtSx2TE44ImXU76YJWu-7" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="720" y="610" as="sourcePoint" />
<mxPoint x="750" y="510" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="H67oRbjdkQPqhBt0_Uks-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeColor=#FF0000;" edge="1" parent="1" source="PvtSx2TE44ImXU76YJWu-36" target="PvtSx2TE44ImXU76YJWu-7">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="H67oRbjdkQPqhBt0_Uks-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;strokeColor=#FF0000;" edge="1" parent="1" source="PvtSx2TE44ImXU76YJWu-36" target="PvtSx2TE44ImXU76YJWu-6">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-36" value="" style="rhombus;whiteSpace=wrap;html=1;strokeColor=#FF0000;" parent="1" vertex="1">
<mxGeometry x="660" y="610" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-41" value="received AnimationMessage&amp;nbsp;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#FF0000;" parent="1" vertex="1">
<mxGeometry x="480" y="560" width="170" height="30" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-43" value="[waitPlayers.size() = 2] / waitPlayers.clear()" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#FF0000;" parent="1" vertex="1">
<mxGeometry x="315" y="470" width="185" height="30" as="geometry" />
</mxCell>
<mxCell id="PvtSx2TE44ImXU76YJWu-44" value="[otherwise]" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#FF0000;" parent="1" vertex="1">
<mxGeometry x="570" y="620" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="H67oRbjdkQPqhBt0_Uks-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="H67oRbjdkQPqhBt0_Uks-4" target="PvtSx2TE44ImXU76YJWu-5">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="H67oRbjdkQPqhBt0_Uks-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeColor=#FF0000;" edge="1" parent="1" source="H67oRbjdkQPqhBt0_Uks-4" target="PvtSx2TE44ImXU76YJWu-6">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="350" y="530" />
<mxPoint x="350" y="620" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="H67oRbjdkQPqhBt0_Uks-4" value="" style="rhombus;whiteSpace=wrap;html=1;strokeColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="460" y="520" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="H67oRbjdkQPqhBt0_Uks-7" value="[game over]" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="690" y="650" width="70" height="30" as="geometry" />
</mxCell>
<mxCell id="H67oRbjdkQPqhBt0_Uks-9" value="[otherwise]" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="280" y="550" width="60" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

@@ -58,8 +58,16 @@
<details>
<summary markdown="span">Beck Cedric @j23b0826</summary>
- **Commit-ID:**
- **Dokumentation**
- **Commit-ID:** bb1e3858bb6b441fa16cb31ae715808e9d9cf934
- [**Dokumentation**](./JavaDocs/Woche2/Beck_Cedric_JavaDocs_Woche2.zip)
- BPMN-Diagramm:
![BPMN-Diagram](./Artefakte/Beck_Cedric/BPMN.png)
- Client-Zustandsdiagramm:
![BPMN-Diagram](./Artefakte/Beck_Cedric/ClientState.png)
- Server-Zustandsdiagramm:
![BPMN-Diagram](./Artefakte/Beck_Cedric/ServerState.png)
- Mode-Klassendiagramm:
![BPMN-Diagram](./Artefakte/Beck_Cedric/classdiagram.png)
</details>
<details>
<summary markdown="span">Brennförderer Timo @j23b0724</summary>