--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
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
| {{ 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]) }}
},
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) {
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
+ )
+ )
)
);
};
-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]) {
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";
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";
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],