3 lines
40 KiB
XML
3 lines
40 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<?xml-stylesheet href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css" type="text/css"?>
|
|
<svg id="graph-548" width="100%" xmlns="http://www.w3.org/2000/svg" class="classDiagram" style="max-width: 100%; background-color: rgb(2, 8, 23);" viewBox="0 -48 2189.791748046875 544" role="graphics-document document" aria-roledescription="class" height="100%" xmlns:xlink="http://www.w3.org/1999/xlink"><style>#graph-548{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#graph-548 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#graph-548 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#graph-548 .error-icon{fill:#a44141;}#graph-548 .error-text{fill:#ddd;stroke:#ddd;}#graph-548 .edge-thickness-normal{stroke-width:1px;}#graph-548 .edge-thickness-thick{stroke-width:3.5px;}#graph-548 .edge-pattern-solid{stroke-dasharray:0;}#graph-548 .edge-thickness-invisible{stroke-width:0;fill:none;}#graph-548 .edge-pattern-dashed{stroke-dasharray:3;}#graph-548 .edge-pattern-dotted{stroke-dasharray:2;}#graph-548 .marker{fill:lightgrey;stroke:lightgrey;}#graph-548 .marker.cross{stroke:lightgrey;}#graph-548 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#graph-548 p{margin:0;}#graph-548 g.classGroup text{fill:#ccc;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#graph-548 g.classGroup text .title{font-weight:bolder;}#graph-548 .nodeLabel,#graph-548 .edgeLabel{color:#e0dfdf;}#graph-548 .edgeLabel .label rect{fill:#1f2020;}#graph-548 .label text{fill:#e0dfdf;}#graph-548 .labelBkg{background:#1f2020;}#graph-548 .edgeLabel .label span{background:#1f2020;}#graph-548 .classTitle{font-weight:bolder;}#graph-548 .node rect,#graph-548 .node circle,#graph-548 .node ellipse,#graph-548 .node polygon,#graph-548 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#graph-548 .divider{stroke:#ccc;stroke-width:1;}#graph-548 g.clickable{cursor:pointer;}#graph-548 g.classGroup rect{fill:#1f2020;stroke:#ccc;}#graph-548 g.classGroup line{stroke:#ccc;stroke-width:1;}#graph-548 .classLabel .box{stroke:none;stroke-width:0;fill:#1f2020;opacity:0.5;}#graph-548 .classLabel .label{fill:#ccc;font-size:10px;}#graph-548 .relation{stroke:lightgrey;stroke-width:1;fill:none;}#graph-548 .dashed-line{stroke-dasharray:3;}#graph-548 .dotted-line{stroke-dasharray:1 2;}#graph-548 #compositionStart,#graph-548 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1;}#graph-548 #compositionEnd,#graph-548 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1;}#graph-548 #dependencyStart,#graph-548 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1;}#graph-548 #dependencyStart,#graph-548 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1;}#graph-548 #extensionStart,#graph-548 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1;}#graph-548 #extensionEnd,#graph-548 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1;}#graph-548 #aggregationStart,#graph-548 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1;}#graph-548 #aggregationEnd,#graph-548 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1;}#graph-548 #lollipopStart,#graph-548 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1;}#graph-548 #lollipopEnd,#graph-548 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1;}#graph-548 .edgeTerminals{font-size:11px;line-height:initial;}#graph-548 .classTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#graph-548 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#graph-548 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#graph-548 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><defs><marker id="graph-548_class-aggregationStart" class="marker aggregation class" refX="18" refY="7" markerWidth="190" markerHeight="240" orient="auto"><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id="graph-548_class-aggregationEnd" class="marker aggregation class" refX="1" refY="7" markerWidth="20" markerHeight="28" orient="auto"><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id="graph-548_class-extensionStart" class="marker extension class" refX="18" refY="7" markerWidth="190" markerHeight="240" orient="auto"><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id="graph-548_class-extensionEnd" class="marker extension class" refX="1" refY="7" markerWidth="20" markerHeight="28" orient="auto"><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id="graph-548_class-compositionStart" class="marker composition class" refX="18" refY="7" markerWidth="190" markerHeight="240" orient="auto"><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id="graph-548_class-compositionEnd" class="marker composition class" refX="1" refY="7" markerWidth="20" markerHeight="28" orient="auto"><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id="graph-548_class-dependencyStart" class="marker dependency class" refX="6" refY="7" markerWidth="190" markerHeight="240" orient="auto"><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id="graph-548_class-dependencyEnd" class="marker dependency class" refX="13" refY="7" markerWidth="20" markerHeight="28" orient="auto"><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id="graph-548_class-lollipopStart" class="marker lollipop class" refX="13" refY="7" markerWidth="190" markerHeight="240" orient="auto"><circle stroke="black" fill="transparent" cx="7" cy="7" r="6"></circle></marker></defs><defs><marker id="graph-548_class-lollipopEnd" class="marker lollipop class" refX="1" refY="7" markerWidth="190" markerHeight="240" orient="auto"><circle stroke="black" fill="transparent" cx="7" cy="7" r="6"></circle></marker></defs><g class="root"><g class="clusters"></g><g class="edgePaths"></g><g class="edgeLabels"></g><g class="nodes"><g class="node default" id="classId-AbstractBoard-13515" transform="translate(191.25416564941406, 248)"><g class="basic label-container"><path d="M-183.25416564941406 -240 L183.25416564941406 -240 L183.25416564941406 240 L-183.25416564941406 240" stroke="none" stroke-width="0" fill="#1f2020" style=""></path><path d="M-183.25416564941406 -240 C-56.4503233834382 -240, 70.35351888253766 -240, 183.25416564941406 -240 M-183.25416564941406 -240 C-79.62825857243044 -240, 23.997648504553183 -240, 183.25416564941406 -240 M183.25416564941406 -240 C183.25416564941406 -110.86199316686819, 183.25416564941406 18.276013666263623, 183.25416564941406 240 M183.25416564941406 -240 C183.25416564941406 -122.4434429510609, 183.25416564941406 -4.886885902121804, 183.25416564941406 240 M183.25416564941406 240 C63.25718696710601 240, -56.739791715202045 240, -183.25416564941406 240 M183.25416564941406 240 C77.87462817793333 240, -27.5049092935474 240, -183.25416564941406 240 M-183.25416564941406 240 C-183.25416564941406 77.3175394385897, -183.25416564941406 -85.36492112282059, -183.25416564941406 -240 M-183.25416564941406 240 C-183.25416564941406 72.103644897669, -183.25416564941406 -95.792710204662, -183.25416564941406 -240" stroke="#ccc" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g><g class="annotation-group text" transform="translate(-37.900001525878906, -216)"><g class="label" style="" transform="translate(0,-12)"><foreignObject width="75.80000305175781" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 137px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>«abstract»</p></span></div></foreignObject></g></g><g class="label-group text" transform="translate(-52.625, -192)"><g class="label" style="font-weight: bolder" transform="translate(0,-12)"><foreignObject width="105.25" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 164px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>AbstractBoard</p></span></div></foreignObject></g></g><g class="members-group text" transform="translate(-171.25416564941406, -144)"><g class="label" style="" transform="translate(0,-12)"><foreignObject width="159.25" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 236px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>-currentPlayer: Player</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,12)"><foreignObject width="110.36666870117188" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 184px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>-history: Deque</p></span></div></foreignObject></g></g><g class="methods-group text" transform="translate(-171.25416564941406, -72)"><g class="label" style="" transform="translate(0,-12)"><foreignObject width="249.1999969482422" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 332px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>+AbstractBoard(Player p, Deque h)</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,12)"><foreignObject width="176.01666259765625" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 256px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>#setNextPlayer() : : void</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,36)"><foreignObject width="284.76666259765625" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 376px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>#addPlyToHistory(AbstractPly c) : : void</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,60)"><foreignObject width="289.8833312988281" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 381px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>#removePlyFromHistory() : : AbstractPly</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,84)"><foreignObject width="288.95001220703125" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 384px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>#getLastPlyFromHistory() : : AbstractPly</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,108)"><foreignObject width="142.71665954589844" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 219px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>+getCurrentPlayer()</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,132)"><foreignObject width="188.89999389648438" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 265px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>+isGameOver() : : boolean</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,156)"><foreignObject width="156.88333129882812" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 235px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>+getResult() : : Result</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,180)"><foreignObject width="246.39999389648438" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 333px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>+isLegal(AbstractPly c) : : boolean</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,204)"><foreignObject width="157.0833282470703" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 238px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>+iterator() : : Iterator</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,228)"><foreignObject width="209.60000610351562" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 290px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>+doPly(AbstractPly c) : : void</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,252)"><foreignObject width="132.78334045410156" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 205px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>+undoPly() : : void</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,276)"><foreignObject width="156.46665954589844" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 233px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>+safeCopy() : : IBoard</p></span></div></foreignObject></g></g><g class="divider" style=""><path d="M-183.25416564941406 -168 C-75.21821762540668 -168, 32.8177303986007 -168, 183.25416564941406 -168 M-183.25416564941406 -168 C-103.10749347646733 -168, -22.96082130352059 -168, 183.25416564941406 -168" stroke="#ccc" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g><g class="divider" style=""><path d="M-183.25416564941406 -96 C-39.940166920099784 -96, 103.3738318092145 -96, 183.25416564941406 -96 M-183.25416564941406 -96 C-88.20604799325302 -96, 6.842069662908017 -96, 183.25416564941406 -96" stroke="#ccc" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g></g><g class="node default" id="classId-AbstractGame-13516" transform="translate(601.3833312988281, 248)"><g class="basic label-container"><path d="M-176.875 -108 L176.875 -108 L176.875 108 L-176.875 108" stroke="none" stroke-width="0" fill="#1f2020" style=""></path><path d="M-176.875 -108 C-55.25052614043089 -108, 66.37394771913822 -108, 176.875 -108 M-176.875 -108 C-66.14692459328049 -108, 44.581150813439024 -108, 176.875 -108 M176.875 -108 C176.875 -59.21634053653442, 176.875 -10.432681073068835, 176.875 108 M176.875 -108 C176.875 -47.487137523270185, 176.875 13.02572495345963, 176.875 108 M176.875 108 C55.16084206334942 108, -66.55331587330116 108, -176.875 108 M176.875 108 C52.57652053863511 108, -71.72195892272978 108, -176.875 108 M-176.875 108 C-176.875 61.06942970396936, -176.875 14.138859407938725, -176.875 -108 M-176.875 108 C-176.875 47.95426103635036, -176.875 -12.09147792729928, -176.875 -108" stroke="#ccc" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g><g class="annotation-group text" transform="translate(-37.900001525878906, -84)"><g class="label" style="" transform="translate(0,-12)"><foreignObject width="75.80000305175781" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 137px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>«abstract»</p></span></div></foreignObject></g></g><g class="label-group text" transform="translate(-52.133331298828125, -60)"><g class="label" style="font-weight: bolder" transform="translate(0,-12)"><foreignObject width="104.26666259765625" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 162px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>AbstractGame</p></span></div></foreignObject></g></g><g class="members-group text" transform="translate(-164.875, -12)"><g class="label" style="" transform="translate(0,-12)"><foreignObject width="156.3000030517578" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 233px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>-currentBoard: IBoard</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,12)"><foreignObject width="166.5500030517578" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 243px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>-mapPlayers: EnumMap</p></span></div></foreignObject></g></g><g class="methods-group text" transform="translate(-164.875, 60)"><g class="label" style="" transform="translate(0,-12)"><foreignObject width="277.6166687011719" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 362px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>+AbstractGame(IBoard b, EnumMap m)</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,12)"><foreignObject width="113.78334045410156" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 184px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>+run() : : Result</p></span></div></foreignObject></g></g><g class="divider" style=""><path d="M-176.875 -36 C-57.638729592852116 -36, 61.59754081429577 -36, 176.875 -36 M-176.875 -36 C-86.68969524896278 -36, 3.495609502074444 -36, 176.875 -36" stroke="#ccc" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g><g class="divider" style=""><path d="M-176.875 36 C-86.51157836933515 36, 3.851843261329691 36, 176.875 36 M-176.875 36 C-90.81507101897992 36, -4.755142037959843 36, 176.875 36" stroke="#ccc" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g></g><g class="node default" id="classId-AbstractGamePlayer-13517" transform="translate(1020.0208282470703, 248)"><g class="basic label-container"><path d="M-191.7624969482422 -96 L191.7624969482422 -96 L191.7624969482422 96 L-191.7624969482422 96" stroke="none" stroke-width="0" fill="#1f2020" style=""></path><path d="M-191.7624969482422 -96 C-63.117469000413735 -96, 65.52755894741472 -96, 191.7624969482422 -96 M-191.7624969482422 -96 C-88.09121890579063 -96, 15.580059136660935 -96, 191.7624969482422 -96 M191.7624969482422 -96 C191.7624969482422 -52.86910045691813, 191.7624969482422 -9.738200913836266, 191.7624969482422 96 M191.7624969482422 -96 C191.7624969482422 -35.607125149328155, 191.7624969482422 24.78574970134369, 191.7624969482422 96 M191.7624969482422 96 C70.70171097224724 96, -50.359075003747705 96, -191.7624969482422 96 M191.7624969482422 96 C114.77739538003334 96, 37.79229381182449 96, -191.7624969482422 96 M-191.7624969482422 96 C-191.7624969482422 40.750166479228994, -191.7624969482422 -14.499667041542011, -191.7624969482422 -96 M-191.7624969482422 96 C-191.7624969482422 28.583546635240083, -191.7624969482422 -38.832906729519834, -191.7624969482422 -96" stroke="#ccc" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g><g class="annotation-group text" transform="translate(-37.900001525878906, -72)"><g class="label" style="" transform="translate(0,-12)"><foreignObject width="75.80000305175781" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 137px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>«abstract»</p></span></div></foreignObject></g></g><g class="label-group text" transform="translate(-75.7249984741211, -48)"><g class="label" style="font-weight: bolder" transform="translate(0,-12)"><foreignObject width="151.4499969482422" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 212px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>AbstractGamePlayer</p></span></div></foreignObject></g></g><g class="members-group text" transform="translate(-179.7624969482422, 0)"><g class="label" style="" transform="translate(0,-12)"><foreignObject width="88.73333740234375" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 157px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>-iAm: Player</p></span></div></foreignObject></g></g><g class="methods-group text" transform="translate(-179.7624969482422, 48)"><g class="label" style="" transform="translate(0,-12)"><foreignObject width="224.9166717529297" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 308px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>+AbstractGamePlayer(Player p)</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,12)"><foreignObject width="283.79998779296875" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 377px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>+giveYourMove(IBoard p) : : AbstractPly</p></span></div></foreignObject></g></g><g class="divider" style=""><path d="M-191.7624969482422 -24 C-42.08156887139063 -24, 107.59935920546093 -24, 191.7624969482422 -24 M-191.7624969482422 -24 C-68.71087282768643 -24, 54.34075129286933 -24, 191.7624969482422 -24" stroke="#ccc" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g><g class="divider" style=""><path d="M-191.7624969482422 24 C-70.11890615568895 24, 51.52468463686429 24, 191.7624969482422 24 M-191.7624969482422 24 C-99.13365458493921 24, -6.504812221636229 24, 191.7624969482422 24" stroke="#ccc" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g></g><g class="node default" id="classId-AbstractPly-13518" transform="translate(1374.562484741211, 248)"><g class="basic label-container"><path d="M-112.77915954589844 -96 L112.77915954589844 -96 L112.77915954589844 96 L-112.77915954589844 96" stroke="none" stroke-width="0" fill="#1f2020" style=""></path><path d="M-112.77915954589844 -96 C-33.90858222974241 -96, 44.96199508641362 -96, 112.77915954589844 -96 M-112.77915954589844 -96 C-51.06227516144323 -96, 10.654609223011974 -96, 112.77915954589844 -96 M112.77915954589844 -96 C112.77915954589844 -32.74645124099852, 112.77915954589844 30.507097518002965, 112.77915954589844 96 M112.77915954589844 -96 C112.77915954589844 -47.03890250097329, 112.77915954589844 1.9221949980534134, 112.77915954589844 96 M112.77915954589844 96 C32.900820109838676 96, -46.977519326221085 96, -112.77915954589844 96 M112.77915954589844 96 C31.611963424158333 96, -49.55523269758177 96, -112.77915954589844 96 M-112.77915954589844 96 C-112.77915954589844 43.0460266944485, -112.77915954589844 -9.907946611103, -112.77915954589844 -96 M-112.77915954589844 96 C-112.77915954589844 28.860520962781663, -112.77915954589844 -38.27895807443667, -112.77915954589844 -96" stroke="#ccc" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g><g class="annotation-group text" transform="translate(-37.900001525878906, -72)"><g class="label" style="" transform="translate(0,-12)"><foreignObject width="75.80000305175781" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 137px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>«abstract»</p></span></div></foreignObject></g></g><g class="label-group text" transform="translate(-42.34166717529297, -48)"><g class="label" style="font-weight: bolder" transform="translate(0,-12)"><foreignObject width="84.68333435058594" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 143px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>AbstractPly</p></span></div></foreignObject></g></g><g class="members-group text" transform="translate(-100.77915954589844, 0)"><g class="label" style="" transform="translate(0,-12)"><foreignObject width="108.35000610351562" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 179px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>-joueur: Player</p></span></div></foreignObject></g></g><g class="methods-group text" transform="translate(-100.77915954589844, 48)"><g class="label" style="" transform="translate(0,-12)"><foreignObject width="157.28334045410156" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 236px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>+AbstractPly(Player j)</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,12)"><foreignObject width="159.21665954589844" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 235px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>+getPlayer() : : Player</p></span></div></foreignObject></g></g><g class="divider" style=""><path d="M-112.77915954589844 -24 C-37.852242710474556 -24, 37.074674124949325 -24, 112.77915954589844 -24 M-112.77915954589844 -24 C-23.738228447363497 -24, 65.30270265117144 -24, 112.77915954589844 -24" stroke="#ccc" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g><g class="divider" style=""><path d="M-112.77915954589844 24 C-37.12139464039322 24, 38.536370265112 24, 112.77915954589844 24 M-112.77915954589844 24 C-64.29734186771975 24, -15.81552418954108 24, 112.77915954589844 24" stroke="#ccc" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g></g><g class="node default" id="classId-IBoard-13519" transform="translate(1684.4541320800781, 248)"><g class="basic label-container"><path d="M-147.11248779296875 -147 L147.11248779296875 -147 L147.11248779296875 147 L-147.11248779296875 147" stroke="none" stroke-width="0" fill="#1f2020" style=""></path><path d="M-147.11248779296875 -147 C-71.03669190235856 -147, 5.0391039882516395 -147, 147.11248779296875 -147 M-147.11248779296875 -147 C-76.82780700667085 -147, -6.5431262203729545 -147, 147.11248779296875 -147 M147.11248779296875 -147 C147.11248779296875 -73.83075457943706, 147.11248779296875 -0.6615091588741109, 147.11248779296875 147 M147.11248779296875 -147 C147.11248779296875 -76.96619940205738, 147.11248779296875 -6.932398804114769, 147.11248779296875 147 M147.11248779296875 147 C54.43401026715733 147, -38.24446725865408 147, -147.11248779296875 147 M147.11248779296875 147 C72.60165857405751 147, -1.909170644853731 147, -147.11248779296875 147 M-147.11248779296875 147 C-147.11248779296875 63.55872515837244, -147.11248779296875 -19.88254968325512, -147.11248779296875 -147 M-147.11248779296875 147 C-147.11248779296875 59.097079386774524, -147.11248779296875 -28.80584122645095, -147.11248779296875 -147" stroke="#ccc" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g><g class="annotation-group text" transform="translate(0, -123)"></g><g class="label-group text" transform="translate(-23.824996948242188, -123)"><g class="label" style="font-weight: bolder" transform="translate(0,-12)"><foreignObject width="47.649993896484375" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 103px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>IBoard</p></span></div></foreignObject></g></g><g class="members-group text" transform="translate(-135.11248779296875, -75)"></g><g class="methods-group text" transform="translate(-135.11248779296875, -45)"><g class="label" style="" transform="translate(0,-12)"><foreignObject width="213.8000030517578" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 295px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>+getCurrentPlayer() : : Player</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,12)"><foreignObject width="188.89999389648438" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 265px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>+isGameOver() : : boolean</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,36)"><foreignObject width="156.88333129882812" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 235px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>+getResult() : : Result</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,60)"><foreignObject width="246.39999389648438" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 333px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>+isLegal(AbstractPly c) : : boolean</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,84)"><foreignObject width="157.0833282470703" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 238px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>+iterator() : : Iterator</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,108)"><foreignObject width="209.60000610351562" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 290px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>+doPly(AbstractPly c) : : void</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,132)"><foreignObject width="132.78334045410156" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 205px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>+undoPly() : : void</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,156)"><foreignObject width="156.46665954589844" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 233px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>+safeCopy() : : IBoard</p></span></div></foreignObject></g></g><g class="divider" style=""><path d="M-147.11248779296875 -99 C-52.35965657849226 -99, 42.393174635984224 -99, 147.11248779296875 -99 M-147.11248779296875 -99 C-36.14565452347868 -99, 74.82117874601138 -99, 147.11248779296875 -99" stroke="#ccc" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g><g class="divider" style=""><path d="M-147.11248779296875 -75 C-58.89191763973005 -75, 29.328652513508644 -75, 147.11248779296875 -75 M-147.11248779296875 -75 C-45.47680905864033 -75, 56.158869675688095 -75, 147.11248779296875 -75" stroke="#ccc" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g></g><g class="node default" id="classId-Player-13520" transform="translate(1947.320785522461, 248)"><g class="basic label-container"><path d="M-65.7541618347168 -84 L65.7541618347168 -84 L65.7541618347168 84 L-65.7541618347168 84" stroke="none" stroke-width="0" fill="#1f2020" style=""></path><path d="M-65.7541618347168 -84 C-18.388636842801937 -84, 28.976888149112924 -84, 65.7541618347168 -84 M-65.7541618347168 -84 C-30.07537529268791 -84, 5.603411249340979 -84, 65.7541618347168 -84 M65.7541618347168 -84 C65.7541618347168 -18.752693792956407, 65.7541618347168 46.494612414087186, 65.7541618347168 84 M65.7541618347168 -84 C65.7541618347168 -26.127234378194828, 65.7541618347168 31.745531243610344, 65.7541618347168 84 M65.7541618347168 84 C14.608426874311164 84, -36.53730808609447 84, -65.7541618347168 84 M65.7541618347168 84 C19.240955169408608 84, -27.27225149589958 84, -65.7541618347168 84 M-65.7541618347168 84 C-65.7541618347168 22.416757846066083, -65.7541618347168 -39.16648430786783, -65.7541618347168 -84 M-65.7541618347168 84 C-65.7541618347168 45.05088641474251, -65.7541618347168 6.101772829485014, -65.7541618347168 -84" stroke="#ccc" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g><g class="annotation-group text" transform="translate(-47.35832977294922, -60)"><g class="label" style="" transform="translate(0,-12)"><foreignObject width="94.71665954589844" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 155px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>«enumerate»</p></span></div></foreignObject></g></g><g class="label-group text" transform="translate(-23.59166717529297, -36)"><g class="label" style="font-weight: bolder" transform="translate(0,-12)"><foreignObject width="47.18333435058594" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 100px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>Player</p></span></div></foreignObject></g></g><g class="members-group text" transform="translate(-53.7541618347168, 12)"><g class="label" style="" transform="translate(0,-12)"><foreignObject width="60.149993896484375" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 116px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>PLAYER1</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,12)"><foreignObject width="60.149993896484375" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 116px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>PLAYER2</p></span></div></foreignObject></g></g><g class="methods-group text" transform="translate(-53.7541618347168, 84)"></g><g class="divider" style=""><path d="M-65.75416564941406 -12 C-25.223044481216192 -12, 15.308076686981678 -12, 65.75416564941406 -12 M-65.75416564941406 -12 C-27.28852324159228 -12, 11.177119166229502 -12, 65.75416564941406 -12" stroke="#ccc" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g><g class="divider" style=""><path d="M-65.75416564941406 60 C-27.376932227118488 60, 11.000301195177087 60, 65.75416564941406 60 M-65.75416564941406 60 C-23.04851175108398 60, 19.657142147246105 60, 65.75416564941406 60" stroke="#ccc" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g></g><g class="node default" id="classId-Result-13521" transform="translate(2122.433280944824, 248)"><g class="basic label-container"><path d="M-59.35832977294922 -96 L59.35832977294922 -96 L59.35832977294922 96 L-59.35832977294922 96" stroke="none" stroke-width="0" fill="#1f2020" style=""></path><path d="M-59.35832977294922 -96 C-20.71748179528604 -96, 17.923366182377137 -96, 59.35832977294922 -96 M-59.35832977294922 -96 C-16.688899945252302 -96, 25.980529882444614 -96, 59.35832977294922 -96 M59.35832977294922 -96 C59.35832977294922 -43.73956623655708, 59.35832977294922 8.520867526885837, 59.35832977294922 96 M59.35832977294922 -96 C59.35832977294922 -45.29303817253639, 59.35832977294922 5.413923654927217, 59.35832977294922 96 M59.35832977294922 96 C19.66746592771092 96, -20.023397917527376 96, -59.35832977294922 96 M59.35832977294922 96 C13.755419368231244 96, -31.84749103648673 96, -59.35832977294922 96 M-59.35832977294922 96 C-59.35832977294922 35.44252894848165, -59.35832977294922 -25.114942103036697, -59.35832977294922 -96 M-59.35832977294922 96 C-59.35832977294922 34.646770470492825, -59.35832977294922 -26.70645905901435, -59.35832977294922 -96" stroke="#ccc" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g><g class="annotation-group text" transform="translate(-47.35832977294922, -72)"><g class="label" style="" transform="translate(0,-12)"><foreignObject width="94.71665954589844" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 155px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>«enumerate»</p></span></div></foreignObject></g></g><g class="label-group text" transform="translate(-23.183334350585938, -48)"><g class="label" style="font-weight: bolder" transform="translate(0,-12)"><foreignObject width="46.366668701171875" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 100px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>Result</p></span></div></foreignObject></g></g><g class="members-group text" transform="translate(-47.35832977294922, 0)"><g class="label" style="" transform="translate(0,-12)"><foreignObject width="28.300003051757812" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 84px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>WIN</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,12)"><foreignObject width="40.80000305175781" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 95px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>DRAW</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,36)"><foreignObject width="34.28334045410156" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 87px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel markdown-node-label" style=""><p>LOSS</p></span></div></foreignObject></g></g><g class="methods-group text" transform="translate(-47.35832977294922, 96)"></g><g class="divider" style=""><path d="M-59.35832977294922 -24 C-21.85227962375835 -24, 15.65377052543252 -24, 59.35832977294922 -24 M-59.35832977294922 -24 C-14.070845951959761 -24, 31.216637869029697 -24, 59.35832977294922 -24" stroke="#ccc" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g><g class="divider" style=""><path d="M-59.35832977294922 72 C-25.75749991251486 72, 7.8433299479195 72, 59.35832977294922 72 M-59.35832977294922 72 C-35.534767329064486 72, -11.711204885179754 72, 59.35832977294922 72" stroke="#ccc" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g></g></g></g></g><text text-anchor="middle" x="1094.8958740234375" y="-25" class="classDiagramTitleText">GameAPI - Diagramme de classes (complet)</text></svg> |