From b866a62ab3d1d427688954383ed7035111b0e132 Mon Sep 17 00:00:00 2001 From: Benjamin Auder <benjamin.auder@somewhere> Date: Sat, 28 Mar 2020 00:02:03 +0100 Subject: [PATCH] Fix Apocalypse (again...), moveslist highlighting and get a first working draft of a tiny subset of Dynamo (knights push/pull + 'dynamate') --- client/public/images/pieces/Dynamo/pstep.svg | 84 +++++++++++++ client/public/images/pieces/Dynamo/raus.svg | 84 +++++++++++++ .../public/images/pieces/Dynamo/shift_1.svg | 61 ++++++++++ .../public/images/pieces/Dynamo/shift_2.svg | 61 ++++++++++ .../public/images/pieces/Dynamo/shift_3.svg | 61 ++++++++++ .../public/images/pieces/Dynamo/shift_4.svg | 61 ++++++++++ .../public/images/pieces/Dynamo/shift_5.svg | 61 ++++++++++ .../public/images/pieces/Dynamo/shift_6.svg | 61 ++++++++++ .../public/images/pieces/Dynamo/shift_7.svg | 61 ++++++++++ client/public/images/pieces/SOURCE | 4 + client/src/components/MoveList.vue | 6 +- client/src/variants/Apocalypse.js | 55 ++++++--- client/src/variants/Dynamo.js | 115 ++++++++++++++---- 13 files changed, 726 insertions(+), 49 deletions(-) create mode 100644 client/public/images/pieces/Dynamo/pstep.svg create mode 100644 client/public/images/pieces/Dynamo/raus.svg create mode 100644 client/public/images/pieces/Dynamo/shift_1.svg create mode 100644 client/public/images/pieces/Dynamo/shift_2.svg create mode 100644 client/public/images/pieces/Dynamo/shift_3.svg create mode 100644 client/public/images/pieces/Dynamo/shift_4.svg create mode 100644 client/public/images/pieces/Dynamo/shift_5.svg create mode 100644 client/public/images/pieces/Dynamo/shift_6.svg create mode 100644 client/public/images/pieces/Dynamo/shift_7.svg diff --git a/client/public/images/pieces/Dynamo/pstep.svg b/client/public/images/pieces/Dynamo/pstep.svg new file mode 100644 index 00000000..17b0440a --- /dev/null +++ b/client/public/images/pieces/Dynamo/pstep.svg @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="42.84" + height="47.09" + id="svg3017" + version="1.1" + inkscape:version="0.92.4 5da689c313, 2019-01-14" + sodipodi:docname="pstep.svg"> + <defs + id="defs3019" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="7.919596" + inkscape:cx="0.15461729" + inkscape:cy="31.379202" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:window-width="960" + inkscape:window-height="1060" + inkscape:window-x="0" + inkscape:window-y="20" + inkscape:window-maximized="0" /> + <metadata + id="metadata3022"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-129.38761,-210.45665)"> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'Linux Libertine O';-inkscape-font-specification:'Sans Bold';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" + x="26.263966" + y="33.44817" + id="text3037" + transform="translate(260.07679,165.41838)"><tspan + sodipodi:role="line" + id="tspan3039" + x="26.263966" + y="33.44817" + style="font-size:72px;line-height:1.25"> </tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:10.36832905px;line-height:0%;font-family:'Linux Libertine O';-inkscape-font-specification:'Sans Bold';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.86402738" + x="121.15683" + y="266.12671" + id="text3101" + transform="scale(1.0389894,0.96247374)"><tspan + sodipodi:role="line" + id="tspan3103" + x="121.15683" + y="266.12671" + style="font-size:62.20997238px;line-height:1.25;stroke-width:0.86402738">P</tspan></text> + </g> +</svg> diff --git a/client/public/images/pieces/Dynamo/raus.svg b/client/public/images/pieces/Dynamo/raus.svg new file mode 100644 index 00000000..1d831147 --- /dev/null +++ b/client/public/images/pieces/Dynamo/raus.svg @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="48.549999" + height="47.75" + id="svg3017" + version="1.1" + inkscape:version="0.92.4 5da689c313, 2019-01-14" + sodipodi:docname="raus.svg"> + <defs + id="defs3019" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="5.6" + inkscape:cx="14.247608" + inkscape:cy="32.005965" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:window-width="960" + inkscape:window-height="1060" + inkscape:window-x="0" + inkscape:window-y="20" + inkscape:window-maximized="0" /> + <metadata + id="metadata3022"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-139.51755,-210.42342)"> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'Linux Libertine O';-inkscape-font-specification:'Sans Bold';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" + x="26.263966" + y="33.44817" + id="text3037" + transform="translate(260.07679,165.41838)"><tspan + sodipodi:role="line" + id="tspan3039" + x="26.263966" + y="33.44817" + style="font-size:72px;line-height:1.25"> </tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:10.31848526px;line-height:0%;font-family:'Linux Libertine O';-inkscape-font-specification:'Sans Bold';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.85987371" + x="131.2245" + y="269.13638" + id="text3109" + transform="scale(1.0490261,0.95326513)"><tspan + sodipodi:role="line" + id="tspan3111" + x="131.2245" + y="269.13638" + style="font-size:61.91091156px;line-height:1.25;stroke-width:0.85987371">R</tspan></text> + </g> +</svg> diff --git a/client/public/images/pieces/Dynamo/shift_1.svg b/client/public/images/pieces/Dynamo/shift_1.svg new file mode 100644 index 00000000..3bcd08bd --- /dev/null +++ b/client/public/images/pieces/Dynamo/shift_1.svg @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="210mm" + height="297mm" + viewBox="0 0 210 297" + version="1.1" + id="svg42" + inkscape:version="0.92.4 5da689c313, 2019-01-14" + sodipodi:docname="shift_1.svg"> + <defs + id="defs36" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.35" + inkscape:cx="405.71429" + inkscape:cy="560" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="960" + inkscape:window-height="1060" + inkscape:window-x="0" + inkscape:window-y="20" + inkscape:window-maximized="0" /> + <metadata + id="metadata39"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <path + style="fill:#000000;stroke:none;stroke-width:0.07761112" + d="M 58.349428,36.064396 V 59.96862 l 2.716384,1.785055 c 2.483558,1.552221 4.03579,4.113389 1.785058,2.794 -0.620884,-0.310446 -0.776094,-0.232834 -0.388058,0.155232 0.388058,0.388056 1.086558,0.6985 1.552232,0.6985 0.543268,0 0.853732,0.620889 0.853732,1.397 -0.07766,0.6985 0.1551,1.164168 0.465652,0.931333 0.853732,-0.543277 1.707442,3.337277 1.086558,4.423835 -0.388058,0.543274 -0.15532,0.62089 0.465674,0.232832 0.6985,-0.465667 0.931326,0.07762 0.620884,2.17311 -0.15532,1.552223 0,2.561165 0.310442,2.405948 0.388058,-0.232834 0.620884,31.975775 0.620884,71.635055 0,75.12756 -0.07766,75.90365 -3.337268,82.19015 -0.6985,1.31941 -2.483558,3.18208 -3.958174,4.26864 l -2.794,1.86263 v 24.21467 24.29227 h 52.309882 52.30991 l 0.38806,-1.62982 c 0.23282,-0.93133 0.46565,-11.8745 0.46565,-24.29227 l 0.0777,-22.58485 -3.18206,-2.17309 c -2.01788,-1.397 -3.80294,-3.4925 -4.81188,-5.82085 L 154.19925,225.28029 153.9664,118.72023 153.8113,12.237787 H 106.08028 58.349428 Z" + id="path8" + inkscape:connector-curvature="0" /> + </g> +</svg> diff --git a/client/public/images/pieces/Dynamo/shift_2.svg b/client/public/images/pieces/Dynamo/shift_2.svg new file mode 100644 index 00000000..4f7eeb51 --- /dev/null +++ b/client/public/images/pieces/Dynamo/shift_2.svg @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="210mm" + height="297mm" + viewBox="0 0 210 297" + version="1.1" + id="svg93" + inkscape:version="0.92.4 5da689c313, 2019-01-14" + sodipodi:docname="shift_2.svg"> + <defs + id="defs87" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.35" + inkscape:cx="405.71429" + inkscape:cy="560" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="960" + inkscape:window-height="1060" + inkscape:window-x="0" + inkscape:window-y="20" + inkscape:window-maximized="0" /> + <metadata + id="metadata90"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <path + style="fill:#000000;stroke:none;stroke-width:0.07761112" + d="M 96.39771,9.1620063 C 64.809974,11.257506 37.878916,19.329059 14.362751,33.687116 l -5.2775555,3.259665 -0.07762,5.044723 c -0.07762,5.898444 -0.07762,62.942606 0,66.357496 l 0.07762,2.32834 38.1846625,-0.15523 c 21.032612,-0.0776 39.038382,-0.15524 39.892112,-0.15524 1.62983,-0.0776 1.70745,-0.38805 2.01789,-14.280438 0.31044,-12.107334 0.62088,-14.746109 2.01788,-18.471444 2.71641,-6.829781 8.07156,-10.787944 14.74612,-10.787944 3.88056,0 8.07156,1.474612 7.37306,2.561163 -0.31045,0.465667 -0.0777,0.543281 0.46567,0.232833 1.16415,-0.776108 4.11338,1.785058 3.41488,2.871616 -0.23282,0.465667 -0.0777,0.543276 0.38806,0.232832 1.08656,-0.62089 2.794,2.328335 2.01789,3.57011 -0.38806,0.543276 -0.23283,0.62089 0.46567,0.232834 0.77612,-0.465667 0.93133,-0.310444 0.54327,0.6985 -0.31044,0.6985 -0.23283,1.086556 0.15532,0.853724 1.16417,-0.6985 2.63879,8.071551 2.17311,13.116276 -1.47461,15.134168 -7.06261,20.256498 -38.10705,34.769768 -33.838446,15.83269 -49.28304,24.83558 -59.993388,35.08025 -12.107324,11.48644 -18.1609905,24.13704 -20.4117135,42.76371 -0.931333,7.29544 -1.629833,74.58427 -0.931333,79.70662 l 0.310444,2.17311 h 99.6526605 99.65267 v -42.68611 -42.68612 h -39.96973 -39.89209 l -0.38806,2.48356 c -0.23285,1.397 -0.62088,4.81188 -0.85373,7.60588 -0.6985,7.6835 -2.94921,11.56406 -8.382,14.28044 -4.26862,2.0955 -5.27756,2.25074 -16.14312,2.63879 l -11.56403,0.38806 v -4.1134 c 0,-6.05366 1.397,-9.779 5.35515,-14.20283 5.12235,-5.66562 11.8745,-9.779 36.71006,-22.27438 34.14888,-17.22968 44.93682,-23.20574 53.31882,-29.56983 6.20891,-4.65667 12.72823,-11.95212 17.07444,-19.09235 12.88347,-21.0326 13.50435,-62.709762 1.31941,-88.321431 C 189.2207,28.099116 168.57614,15.06045 136.52276,10.481394 128.68403,9.3948383 104.85741,8.5411153 96.39782,9.1620063 Z" + id="path4" + inkscape:connector-curvature="0" /> + </g> +</svg> diff --git a/client/public/images/pieces/Dynamo/shift_3.svg b/client/public/images/pieces/Dynamo/shift_3.svg new file mode 100644 index 00000000..50b2d025 --- /dev/null +++ b/client/public/images/pieces/Dynamo/shift_3.svg @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="210mm" + height="297mm" + viewBox="0 0 210 297" + version="1.1" + id="svg160" + inkscape:version="0.92.4 5da689c313, 2019-01-14" + sodipodi:docname="shift_3.svg"> + <defs + id="defs154" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.35" + inkscape:cx="405.71429" + inkscape:cy="560" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="960" + inkscape:window-height="1060" + inkscape:window-x="0" + inkscape:window-y="20" + inkscape:window-maximized="0" /> + <metadata + id="metadata157"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <path + style="fill:#000000;stroke:none;stroke-width:0.07761112" + d="M 92.521149,10.397783 C 63.416988,12.726116 37.10682,20.952895 15.22049,34.612449 c -4.191,2.638779 -7.838723,5.122334 -8.071556,5.510388 -0.232833,0.310446 -0.388056,7.295446 -0.310444,15.367 0,11.408835 -0.155232,14.590891 -0.931335,14.202833 -0.6985,-0.388052 -0.6985,-0.310442 0.07762,0.543281 0.620891,0.6985 0.931335,3.725335 0.931335,9.0805 0,6.208886 -0.232835,7.838719 -0.931335,7.450661 -0.776109,-0.465666 -0.776109,-0.388052 -0.07762,0.543281 0.620891,0.776109 0.931335,4.113386 0.853723,9.701386 v 8.459611 l 40.823442,0.23284 40.823444,0.15521 V 95.61477 c 0,-20.101276 3.880555,-27.319109 14.668506,-27.163886 4.65667,0 10.63273,1.940277 9.85661,3.182058 -0.23285,0.388052 0.0777,1.086552 0.6985,1.629835 0.62089,0.543275 1.16415,0.6985 1.16415,0.388051 0,-0.310444 0.54329,-0.15521 1.16418,0.388056 0.6985,0.543277 1.08656,1.47461 0.85373,2.0955 -0.23285,0.620893 -0.15532,0.931335 0.23283,0.6985 0.62088,-0.465665 1.70744,1.707444 2.87161,5.665609 0.77612,2.949226 0.54327,17.074445 -0.38806,21.265447 -2.01788,8.69244 -5.82082,12.65061 -14.43567,14.90133 -3.4925,0.85372 -8.925271,1.16417 -23.050502,1.16417 H 63.572209 v 15.67744 c 0,8.69245 -0.07762,20.79978 -0.232833,27.00867 l -0.155232,11.25361 16.686388,-0.15523 c 22.740058,-0.15523 29.492238,1.16417 35.545888,6.90739 2.40594,2.40595 3.4149,4.42384 1.55223,3.25967 -0.54329,-0.31045 -0.62088,-0.23283 -0.31044,0.38805 0.31044,0.46567 0.85371,0.6985 1.16415,0.46567 1.16417,-0.6985 3.33729,6.44172 2.794,9.0805 -0.38804,2.01789 -0.31044,2.32833 0.38806,1.397 1.47461,-1.94028 0.46567,20.48934 -1.08656,25.45646 -1.62983,4.96709 -5.74321,9.85659 -9.54615,11.09836 -4.03579,1.31938 -12.184941,0.54329 -14.746121,-1.31938 -2.94923,-2.25071 -5.43277,-6.82977 -6.208883,-11.48645 -0.310442,-2.17309 -0.620884,-4.34621 -0.6985,-4.73426 -0.07766,-0.46568 -0.1551,-6.59695 -0.232848,-13.73718 l -0.07766,-12.96105 -40.512995,0.15523 -40.59061,0.15523 -0.465665,8.92528 c -0.232835,4.88951 -0.465667,8.4596 -0.543279,7.83872 -0.07762,-0.62089 -0.388056,-0.85371 -0.620888,-0.62089 -0.310444,0.31045 -0.15521,0.93133 0.310444,1.47462 1.241779,1.55221 1.241779,33.45038 0,32.75188 -0.776112,-0.46567 -0.853721,-0.31044 0,0.54327 0.620888,0.6985 0.931335,3.72533 0.931335,9.0805 0,6.20889 -0.232835,7.83873 -0.931335,7.45068 -0.776112,-0.46568 -0.6985,-0.23285 0,0.62088 0.620888,0.85373 0.931335,2.63877 0.6985,4.81188 -0.15521,1.94029 -0.07762,3.41489 0.155232,3.33729 0.931333,-0.23284 3.958165,1.86266 3.570112,2.56116 -0.232835,0.38805 0,0.93134 0.465665,1.24179 0.620888,0.31044 0.6985,0.23282 0.388056,-0.31045 -0.853721,-1.397 -0.310445,-1.16417 5.976055,2.63877 3.259666,1.94029 9.468556,5.12233 13.892387,7.06262 4.423834,1.94027 8.149167,3.88056 8.226779,4.26861 0.155232,0.31045 0.620888,0.46566 1.008944,0.1551 0.388056,-0.23282 3.570111,0.46568 7.140221,1.55224 16.143111,5.04471 35.545899,7.52826 58.751614,7.60588 18.08338,0.0777 30.34594,-1.00894 41.52194,-3.64773 18.47144,-4.34621 29.80267,-10.16704 39.96973,-20.48933 9.70138,-9.85661 14.6685,-19.63561 18.23862,-35.77871 1.70744,-7.91632 2.40594,-30.19073 1.24176,-39.19362 -3.10444,-23.28333 -15.83267,-40.51299 -34.925,-47.34278 -2.40594,-0.85371 -2.56117,-1.08655 -1.24176,-1.55221 7.37303,-2.71639 13.65953,-6.67456 19.09232,-12.02973 10.16706,-10.01183 14.35806,-20.955 15.21177,-39.581665 C 207.30794,45.710837 183.63656,18.779783 135.44006,11.561951 125.273,10.087339 104.08517,9.4664512 92.521109,10.397783 Z M 114.79553,72.48667 c 0,0.388058 -0.1551,0.776116 -0.31044,0.776116 -0.23282,0 -0.62088,-0.388058 -0.85371,-0.776116 -0.23285,-0.465668 -0.0777,-0.77611 0.31044,-0.77611 0.46568,0 0.85371,0.310442 0.85371,0.77611 z" + id="path6" + inkscape:connector-curvature="0" /> + </g> +</svg> diff --git a/client/public/images/pieces/Dynamo/shift_4.svg b/client/public/images/pieces/Dynamo/shift_4.svg new file mode 100644 index 00000000..96557131 --- /dev/null +++ b/client/public/images/pieces/Dynamo/shift_4.svg @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="210mm" + height="297mm" + viewBox="0 0 210 297" + version="1.1" + id="svg227" + inkscape:version="0.92.4 5da689c313, 2019-01-14" + sodipodi:docname="shift_4.svg"> + <defs + id="defs221" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.35" + inkscape:cx="405.71429" + inkscape:cy="560" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="960" + inkscape:window-height="1060" + inkscape:window-x="0" + inkscape:window-y="20" + inkscape:window-maximized="0" /> + <metadata + id="metadata224"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <path + style="fill:#000000;stroke:none;stroke-width:0.07761112" + d="M 143.99778,12.324748 95.646069,12.47998 69.180681,52.29448 C 54.589797,74.103201 33.401955,105.76853 22.070732,122.61014 L 1.50379,153.18891 1.58141,183.53488 c 0,16.68638 0.07762,31.51009 0.07762,32.82948 l 0.07762,2.56117 h 55.103884 55.103886 v 2.01788 c 0,1.08656 -0.31045,1.78506 -0.62089,1.55224 -0.38806,-0.23283 -0.54327,0.62088 -0.31044,1.78505 0.15532,1.24177 -0.38806,3.57012 -1.31938,5.35516 -1.31939,2.56117 -2.56118,3.64773 -6.59695,5.588 l -5.044731,2.40594 0.15532,23.82661 0.15532,23.82662 51.378561,0.1551 c 28.32806,0.0777 52.15465,-0.0777 53.00838,-0.31044 1.55221,-0.38806 1.55221,-1.00894 1.55221,-24.36989 v -23.98182 l -2.09549,-0.85373 c -4.57906,-1.70745 -7.52827,-6.3641 -8.4596,-13.03866 l -0.54329,-3.95806 h 9.00289 8.92526 l 0.23283,-2.17312 c 0.15532,-1.16415 0.31046,-13.65953 0.31046,-27.70715 l -0.0777,-25.61167 -9.0805,-0.23283 -9.0805,-0.23285 V 87.76275 c 0,-41.366723 -0.23282,-75.282779 -0.54329,-75.438002 -0.38803,-0.15521 -22.352,-0.15521 -48.895,0 z m -30.1131,116.571882 v 34.14889 H 91.144619 68.482181 l 1.707442,-2.71638 c 9.778996,-15.21178 42.996557,-65.50378 43.306997,-65.58139 0.23283,0 0.38806,15.367 0.38806,34.14888 z" + id="path12" + inkscape:connector-curvature="0" /> + </g> +</svg> diff --git a/client/public/images/pieces/Dynamo/shift_5.svg b/client/public/images/pieces/Dynamo/shift_5.svg new file mode 100644 index 00000000..b2237d73 --- /dev/null +++ b/client/public/images/pieces/Dynamo/shift_5.svg @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="210mm" + height="297mm" + viewBox="0 0 210 297" + version="1.1" + id="svg294" + inkscape:version="0.92.4 5da689c313, 2019-01-14" + sodipodi:docname="shift_5.svg"> + <defs + id="defs288" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.35" + inkscape:cx="405.71429" + inkscape:cy="560" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="960" + inkscape:window-height="1060" + inkscape:window-x="0" + inkscape:window-y="20" + inkscape:window-maximized="0" /> + <metadata + id="metadata291"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <path + style="fill:#000000;stroke:none;stroke-width:0.07761112" + d="m 8.8831786,16.031897 c -0.388056,1.862668 -0.465667,3.414889 -0.232832,3.570112 0.543276,0.232833 0.310444,7.062609 -0.310445,7.6835 -0.232834,0.232833 -0.07762,1.008944 0.310445,1.707444 0.388055,0.77611 0.388055,1.785056 0,2.328333 -0.310445,0.620888 -0.310445,2.0955 0,3.337277 0.465665,1.474612 0.388055,2.017888 -0.155232,1.707444 -0.543277,-0.310444 -0.543277,0 -0.07762,0.931333 0.388055,0.853723 0.62089,3.725335 0.465667,6.519335 -0.232833,5.588 -0.232833,7.295444 0.07762,12.417776 0.155232,1.940277 -0.155232,3.958167 -0.620888,4.579056 -0.620889,0.853721 -0.620889,1.008944 0.07762,0.620888 0.6985,-0.465667 0.853721,0.388056 0.543276,3.4925 -0.232832,2.250723 -0.620888,4.346223 -0.853723,4.656668 -0.15521,0.388055 0,0.620888 0.310447,0.620888 0.388053,0 0.543276,1.62983 0.465665,3.647721 -0.15521,2.0955 -0.310444,4.191 -0.232833,4.656667 0,1.164168 0,2.0955 0,6.208891 0,1.629833 0.07762,4.268609 0.232833,5.898442 0.07762,1.629835 -0.07762,3.337277 -0.388056,3.880558 -0.310444,0.465667 -0.15521,1.319384 0.232835,1.862667 0.543277,0.620884 0.543277,1.397 0,2.405942 -0.465668,0.853724 -0.620891,1.707441 -0.388056,1.940271 0.776112,0.77612 0.776112,9.46856 -0.07762,10.55512 -0.543277,0.85372 -0.543277,1.00894 0.15521,0.62088 0.620891,-0.38805 0.853723,0.0776 0.6985,1.55223 -0.15521,1.24177 -0.310444,3.18206 -0.388054,4.34622 -0.07762,1.47461 -0.388055,2.01789 -1.008946,1.70745 -0.543277,-0.31045 -0.465665,-0.0776 0.155232,0.54327 0.853723,0.6985 1.164167,2.0955 1.008944,4.50145 -0.15521,1.94028 -0.232832,3.95817 -0.232832,4.42383 0,2.48355 0,3.4925 0,6.20889 0,1.62983 0.07762,4.26861 0.15521,5.89843 0.155232,1.62985 0,3.33729 -0.310445,3.88056 -0.310444,0.46567 -0.15521,1.31941 0.232835,1.86267 0.543277,0.62089 0.543277,1.397 0,2.40595 -0.465667,0.85373 -0.62089,1.70744 -0.388056,1.94029 0.77611,0.77609 0.77611,9.46853 -0.07762,10.55509 -0.620888,0.93135 -0.543279,1.00894 0.310445,0.46567 0.853723,-0.46567 1.008944,-0.31044 0.620888,0.62089 -0.232833,0.77611 -0.232833,1.31938 0.07762,1.31938 1.2417774,0.0777 66.3575004,0.0777 73.2648754,0 h 7.528268 l 2.328348,-3.41488 c 5.432765,-7.83871 15.134156,-9.54615 22.817656,-4.11339 1.3194,0.85374 2.0179,1.94027 1.78506,2.63877 -0.23283,0.62091 -0.15532,0.85373 0.31044,0.62091 1.00896,-0.62091 2.7164,3.02682 3.80296,7.99394 0.54327,2.48356 0.85371,12.80583 0.85371,25.92212 0,24.91315 -0.62088,29.18176 -5.12232,33.60561 -5.27756,5.27754 -15.13418,5.12233 -20.644561,-0.31046 -4.501445,-4.57904 -5.976061,-12.34015 -6.053677,-32.131 V 182.74056 H 49.784235 c -35.313056,0 -40.3577774,0.15532 -40.4353884,1.16417 -0.07762,1.16415 -0.310445,2.17312 -0.6985,3.25965 -0.07762,0.38806 -0.07762,0.93135 0,1.397 0.465665,2.01791 0.388055,5.97606 -0.155232,6.82979 -0.310445,0.46568 -0.15521,1.31939 0.232834,1.86268 0.543277,0.62088 0.543277,1.397 0,2.40594 -0.465667,0.85371 -0.62089,1.70744 -0.388055,1.94027 0.776109,0.77611 0.776109,9.46855 -0.07762,10.55511 -0.543279,0.85373 -0.543279,1.00894 0.15521,0.62089 0.62089,-0.38806 0.853723,0.0777 0.6985,1.55223 -0.15521,1.24177 -0.310445,3.18206 -0.388054,4.34621 -0.07762,1.47461 -0.388056,2.0179 -1.008946,1.70746 -0.543277,-0.31046 -0.465666,-0.0777 0.155232,0.54327 1.319388,1.08656 1.552221,6.51933 0.388055,8.382 -0.388055,0.62088 -0.310444,0.85373 0.232833,0.46567 0.543279,-0.31044 0.776112,0.23283 0.620888,1.62983 -0.15521,1.24177 -0.388055,2.17309 -0.465665,2.17309 -0.07762,0 -0.155232,1.16418 -0.232835,2.56118 -0.07762,1.31938 0,2.48356 0.310445,2.48356 0.232834,0 0.232834,1.62982 0.155232,3.64773 -0.155232,2.0955 -0.310445,4.191 -0.232833,4.65665 0,2.01788 0,3.02685 -0.07762,5.66562 -0.155232,4.8895 0,5.19994 4.3462214,8.14917 2.328335,1.62983 4.035779,3.25965 3.802944,3.57009 -0.232832,0.38806 0.232835,0.46568 0.931335,0.15532 0.931333,-0.31044 1.164165,-0.23282 0.776112,0.46568 -0.310447,0.46565 -0.310447,0.77609 0.07762,0.6985 1.164165,-0.31044 4.113388,1.00894 3.725332,1.70744 -0.232832,0.38806 0,0.93133 0.465668,1.24177 0.620888,0.38806 0.6985,0.23285 0.310444,-0.46565 -0.6985,-1.16418 -1.319391,-1.47462 10.167053,4.42382 16.143112,8.22677 32.519047,13.03865 55.414335,16.14312 6.131269,0.85371 30.34595,1.00894 38.80554,0.31044 20.79979,-1.78506 38.02947,-7.14023 49.90397,-15.367 9.15809,-6.2865 18.00576,-17.77294 22.19676,-28.71612 5.74324,-14.82371 7.83874,-29.25938 7.83874,-53.47405 0,-17.77295 -0.62091,-24.91316 -3.18206,-38.10706 -5.89844,-30.34602 -20.87741,-46.33392 -49.36068,-52.62042 -4.73426,-1.086547 -9.85661,-1.396996 -23.12811,-1.396996 -15.13415,0 -18.00577,0.232835 -25.2236,1.785056 -4.50146,1.00894 -9.856611,2.56117 -12.029731,3.33728 -2.095503,0.77611 -3.958177,1.47461 -4.035771,1.47461 -0.15532,0 -0.232848,-8.381997 -0.232848,-18.549053 V 68.729839 l 8.692449,0.388056 c 15.987901,0.543277 19.325171,2.949219 21.886351,15.910277 l 0.46565,2.017891 38.57273,-0.155232 c 21.26544,-0.07759 39.27121,-0.232824 40.04733,-0.310434 1.24179,-0.07762 1.31938,-2.405948 1.31938,-36.94289 V 12.77223 H 105.35379 9.5040676 Z" + id="path14" + inkscape:connector-curvature="0" /> + </g> +</svg> diff --git a/client/public/images/pieces/Dynamo/shift_6.svg b/client/public/images/pieces/Dynamo/shift_6.svg new file mode 100644 index 00000000..4897edc3 --- /dev/null +++ b/client/public/images/pieces/Dynamo/shift_6.svg @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="210mm" + height="297mm" + viewBox="0 0 210 297" + version="1.1" + id="svg361" + inkscape:version="0.92.4 5da689c313, 2019-01-14" + sodipodi:docname="shift_6.svg"> + <defs + id="defs355" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.35" + inkscape:cx="405.71429" + inkscape:cy="560" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="960" + inkscape:window-height="1060" + inkscape:window-x="0" + inkscape:window-y="20" + inkscape:window-maximized="0" /> + <metadata + id="metadata358"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <path + style="fill:#000000;stroke:none;stroke-width:0.07761112" + d="M 87.003221,9.4227343 C 38.108221,12.139123 14.048779,31.619511 7.0637789,73.995176 c -1.241768,7.605893 -2.794,27.707174 -2.173116,28.638494 0.15532,0.38806 0,0.62091 -0.310442,0.62091 -0.388058,0 -0.620884,1.16415 -0.465674,2.48353 0.15532,1.397 0.388058,25.92212 0.54329,54.56062 0.232826,28.56088 0.543268,53.24123 0.776116,54.71582 1.086558,7.14023 2.328326,16.14312 2.328326,18.00577 0.07766,1.08656 0.232826,1.86267 0.465674,1.70746 0.5432683,-0.6209 3.0268261,9.31333 2.7163841,10.94316 -0.232826,0.85373 -0.15532,1.08655 0.07766,0.46567 0.620884,-1.24179 5.976058,9.62377 5.898442,11.79688 0,0.6985 0.232826,1.16418 0.543268,1.00895 0.853732,-0.54327 4.113384,4.03579 3.570116,4.96711 -0.310442,0.46568 -0.07766,0.6985 0.543268,0.62089 0.54329,-0.15532 0.931348,0.23282 0.776116,0.77611 -0.07766,0.62089 0.15532,0.85371 0.465674,0.62089 0.931326,-0.54327 3.414884,2.17311 2.716384,3.02682 -0.388058,0.31047 -0.232826,0.38806 0.232826,0.15532 1.086558,-0.62088 4.423848,2.794 3.647732,3.72533 -0.388058,0.31044 -0.232826,0.38806 0.232826,0.15532 1.164174,-0.62089 4.346232,1.70744 3.725348,2.71638 -0.310442,0.54329 -0.15532,0.62089 0.388058,0.31044 0.543268,-0.38805 2.173094,0.23285 3.802942,1.24179 1.55221,1.08656 4.8895,2.71639 7.295442,3.72533 2.405942,1.00894 4.191,2.17312 3.958152,2.56117 -0.232826,0.46566 -0.07766,0.54327 0.388058,0.23283 0.465674,-0.23283 3.414906,0.23283 6.519348,1.08656 12.72821,3.57011 22.662442,4.73427 43.617438,5.19994 36.244395,0.77612 58.984445,-3.25967 75.981275,-13.50433 17.69533,-10.71034 27.31912,-27.62955 31.12206,-54.94867 1.31938,-9.31333 1.55223,-35.46827 0.46567,-44.62638 -5.35517,-43.69524 -27.39673,-65.03827 -68.84106,-66.51289 -16.60879,-0.62088 -31.35488,1.24177 -45.868175,5.89845 l -2.638766,0.77611 0.388056,-18.781883 c 0.388058,-20.877401 0.776094,-23.128124 5.199942,-27.784792 2.0955,-2.250716 3.570118,-3.026832 6.441713,-3.414886 6.2865,-0.931333 11.09841,-0.155232 14.35806,2.483554 4.191,3.41489 5.66562,8.071558 6.2865,19.247566 l 0.46567,9.313326 39.42645,0.232826 39.34882,0.15532 V 68.562401 38.44929 l -5.66561,-3.570112 C 165.39046,15.39879 129.61172,7.0167903 87.003221,9.4227343 Z M 115.25367,165.57628 c 2.17311,1.47462 3.18205,2.56118 2.87161,3.33727 -0.23282,0.62091 -0.15532,1.00897 0.23283,0.77612 0.93135,-0.62089 2.7164,3.88056 1.94029,5.04473 -0.31044,0.54327 -0.23285,0.77612 0.23282,0.46565 1.31939,-0.85371 1.78506,4.50147 1.78506,21.73112 0.0777,21.18782 -0.46567,24.91317 -4.34623,30.26832 -3.72533,5.04474 -14.59088,6.44174 -20.722157,2.63879 -6.053674,-3.72532 -7.52829,-10.32229 -7.52829,-32.98473 0,-22.66244 1.552232,-28.56088 8.537232,-32.131 4.967125,-2.56115 12.417775,-2.17309 16.996835,0.85373 z" + id="path10" + inkscape:connector-curvature="0" /> + </g> +</svg> diff --git a/client/public/images/pieces/Dynamo/shift_7.svg b/client/public/images/pieces/Dynamo/shift_7.svg new file mode 100644 index 00000000..59970898 --- /dev/null +++ b/client/public/images/pieces/Dynamo/shift_7.svg @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="210mm" + height="297mm" + viewBox="0 0 210 297" + version="1.1" + id="svg428" + inkscape:version="0.92.4 5da689c313, 2019-01-14" + sodipodi:docname="shift_7.svg"> + <defs + id="defs422" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.35" + inkscape:cx="405.71429" + inkscape:cy="560" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="960" + inkscape:window-height="1060" + inkscape:window-x="0" + inkscape:window-y="20" + inkscape:window-maximized="0" /> + <metadata + id="metadata425"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <path + style="fill:#000000;stroke:none;stroke-width:0.07761112" + d="m 9.1638318,16.179728 c -0.155232,3.337268 -0.155232,101.981002 0.07762,106.404822 0.07762,1.31939 2.2507212,1.397 35.0026002,1.397 h 34.924993 v -14.6685 c 0,-32.829496 3.41491,-38.107054 24.369905,-38.107054 h 6.51933 l -2.94924,7.916326 c -1.62982,4.423848 -5.82082,15.832678 -9.313315,25.456438 -3.4925,9.62379 -7.60589,20.79979 -9.0805,24.83556 -1.47462,4.03579 -3.02683,8.22679 -3.33727,9.31335 -3.18206,9.779 -10.71035,28.6385 -11.25362,28.17283 -0.31044,-0.38806 -0.38805,-0.23283 -0.0777,0.31044 0.54327,1.00894 0.23283,2.0955 -8.226761,25.06838 -3.259674,8.77006 -9.468558,25.68929 -13.81479,37.64139 -4.34621,11.95211 -9.623768,26.4654 -11.796884,32.20861 -2.0955,5.74323 -4.8895,13.2715 -6.13129,16.60879 -1.241768,3.33727 -2.173094,6.28648 -2.017884,6.3641 0.620884,0.62088 89.330374,0.31044 89.873664,-0.23283 0.31044,-0.31044 2.0955,-4.96712 4.03577,-10.32227 4.11341,-11.33123 11.64167,-31.82056 29.64744,-80.71556 7.14023,-19.40279 14.74612,-40.04734 16.84162,-45.79055 7.83873,-21.42068 26.23256,-71.247004 28.87135,-78.387214 l 2.794,-7.373058 V 37.212322 12.221556 H 106.7986 9.4742758 Z" + id="path26" + inkscape:connector-curvature="0" /> + </g> +</svg> diff --git a/client/public/images/pieces/SOURCE b/client/public/images/pieces/SOURCE index 9cb132af..ada138cd 100644 --- a/client/public/images/pieces/SOURCE +++ b/client/public/images/pieces/SOURCE @@ -5,3 +5,7 @@ Some fairy pieces found on the web and icon scout: https://iconscout.com/ PNG images for Eightpieces from https://greenchess.net/index.php and Jeff Kubach design. Images of the Hawk and Elephant were designed by "Couch Tomato #2218" on Discord, for the pychess-variants website (http://pychess-variants.herokuapp.com/) +For Dynamo: +https://commons.wikimedia.org/wiki/File:Font_P.svg +https://commons.wikimedia.org/wiki/File:Font_R.svg +https://svgsilh.com/image/3203304.html diff --git a/client/src/components/MoveList.vue b/client/src/components/MoveList.vue index 91d138ef..6eaf43ce 100644 --- a/client/src/components/MoveList.vue +++ b/client/src/components/MoveList.vue @@ -53,7 +53,7 @@ div | {{ notation(moves[moveIdx]) }} .td( v-if="moveIdx < moves.length-1" - :class="{'highlight-lm': highlightBlackmove(moveIdx)}" + :class="{'highlight-lm': highlightBlackmove(moveIdx+1)}" @click="() => gotoMove(moveIdx+1)" ) | {{ notation(moves[moveIdx+1]) }} @@ -139,8 +139,8 @@ export default { }, highlightBlackmove: function(moveIdx) { return ( - this.cursor == moveIdx + 1 || - (this.show == "byrow" && this.cursor == moveIdx + 2) + this.cursor == moveIdx || + (this.show == "byrow" && this.cursor == moveIdx + 1) ); }, gotoMove: function(index) { diff --git a/client/src/variants/Apocalypse.js b/client/src/variants/Apocalypse.js index abcfd703..c136ff28 100644 --- a/client/src/variants/Apocalypse.js +++ b/client/src/variants/Apocalypse.js @@ -274,29 +274,44 @@ export class ApocalypseRules extends ChessRules { return ( ( m.vanish[0].p == V.KNIGHT && - (m.vanish.length == 1 || m.vanish[1].c != m.vanish[0].c) - ) - || - ( - // Promotion attempt - m.end.x == (m.vanish[0].c == "w" ? 0 : V.size.x - 1) && - other.vanish.length == 2 && - other.vanish[1].p == V.KNIGHT && - other.vanish[1].c == m.vanish[0].c - ) - || - ( - // Moving attempt - !movingLikeCapture(m) && - other.start.x == m.end.x && - other.start.y == m.end.y + ( + m.vanish.length == 1 || + m.vanish[1].c != m.vanish[0].c || + // Self-capture attempt + ( + !other.illegal && + other.end.x == m.end.x && + other.end.y == m.end.y + ) + ) ) || ( - // Capture attempt - movingLikeCapture(m) && - other.end.x == m.end.x && - other.end.y == m.end.y + m.vanish[0].p == V.PAWN && + !other.illegal && + ( + ( + // Promotion attempt + m.end.x == (m.vanish[0].c == "w" ? 0 : V.size.x - 1) && + other.vanish.length == 2 && + other.vanish[1].p == V.KNIGHT && + other.vanish[1].c == m.vanish[0].c + ) + || + ( + // Moving attempt + !movingLikeCapture(m) && + other.start.x == m.end.x && + other.start.y == m.end.y + ) + || + ( + // Capture attempt + movingLikeCapture(m) && + other.end.x == m.end.x && + other.end.y == m.end.y + ) + ) ) ); }; diff --git a/client/src/variants/Dynamo.js b/client/src/variants/Dynamo.js index 4d443eb5..7a794ea2 100644 --- a/client/src/variants/Dynamo.js +++ b/client/src/variants/Dynamo.js @@ -1,4 +1,10 @@ -import { ChessRules } from "@/base_rules"; +import { ChessRules, Move, PiPo } from "@/base_rules"; + +// TODO: need FEN lastmove pour interdire défaire dernière poussée +// --> check appear et vanish totally reversed. + +// TODO: pawn promotions by push (en + des promotions standard) +// --> similar to Zen promotions. export class DynamoRules extends ChessRules { canIplay(side, [x, y]) { @@ -6,29 +12,6 @@ export class DynamoRules extends ChessRules { return true; } - // NOTE: to push a piece out of the board, make it slide until our piece - // (doing the action, moving or not) - getPotentialMovesFrom([x, y]) { - const color = this.turn; - let moves = []; - if (this.getColor(x, y) != color) { - // Push or pull something: freely only if subTurn == 1 - if (this.subTurn == 2) { - // I know that someone is pushing/pulling: find out who, - // and deduce my possible squares (or exit). - // TODO - } else { - // Look in every direction for a friendly pusher/puller. - // This means that the action is done without moving. - // TODO - } - } else { - // My piece: fill first with normal moves (if any), - // and add pushes/pulls (if any). - // TODO - } - } - getPPpath(m) { let imgName = ""; if (m.vanish.length == 1) imgName = "empty"; @@ -40,8 +23,8 @@ export class DynamoRules extends ChessRules { else { const deltaX = Math.abs(m.appear[1].x - m.vanish[1].x); const deltaY = Math.abs(m.appear[1].y - m.vanish[1].y); - if (deltaX == 0) imgName = "shift" + deltaY; - else if (deltaY == 0) imgName = "shift" + deltaX; + if (deltaX == 0) imgName = "shift_" + deltaY; + else if (deltaY == 0) imgName = "shift_" + deltaX; else // Special knight push/pull: just print "P" imgName = "pstep"; @@ -50,6 +33,86 @@ export class DynamoRules extends ChessRules { return "Dynamo/" + imgName; } + getPactions(sq, by, color) { + const [x, y] = sq; + let moves = []; + let squares = {}; +// const lineAdd = (allowedPieces) = { +// // attacking piece must be of the allowed types +// }; + if (!by) { + // Look in all directions for a "color" piece + for (let step of V.steps[V.KNIGHT]) { + const xx = x + step[0], + yy = y + step[1]; + if ( + V.OnBoard(xx, yy) && + this.getPiece(xx, yy) == V.KNIGHT && + this.getColor(xx, yy) == color + ) { + const px = x - step[0], + py = y - step[1]; + if (V.OnBoard(px, py) && this.board[px][py] == V.EMPTY) { + const hash = "s" + px + py; + if (!squares[hash]) { + squares[hash] = true; + moves.push(this.getBasicMove([x, y], [px, py])); + } + } else { + const hash = "s" + xx + yy; + if (!squares[hash]) { + squares[hash] = true; + moves.push( + new Move({ + start: { x: x, y: y }, + end: { x: xx, y: yy }, + appear: [], + vanish: [ + new PiPo({ + x: x, + y: y, + p: this.getPiece(x, y), + c: oppCol + }) + ] + }) + ); + } + } + } + } + for (let step in V.steps[V.ROOK]) { + // color is enemy, so no pawn pushes: king, rook and queen + } + for (let step in V.steps[V.BISHOP]) { + // King, bishop, queen, and possibly pawns attacks + } + } +// else { +// // TODO: probably in a different function for now. +// } + return moves; + } + + // NOTE: to push a piece out of the board, make it slide until our piece + // (doing the action, moving or not) + getPotentialMovesFrom([x, y]) { + const color = this.turn; + const oppCol = V.GetOppCol(color); + if (this.getColor(x, y) != color) { + // Look in every direction for a friendly pusher/puller. + // This means that the action is done without moving. + return this.getPactions([x, y], null, color); + } else { + // Playing my pieces: do they attack an enemy? + // If yes ... TODO + //this.getPattacks(sq, [x, y]); + // Temporary: + return super.getPotentialMovesFrom([x, y]); + } + return []; //never reached + } + isAttackedBySlideNJump([x, y], color, piece, steps, oneStep) { for (let step of steps) { let rx = x + step[0], -- 2.44.0