Add in some checks to prevent deleting important objects and make the entrance and exits visible

master
sigonasr2 4 years ago
parent dd2ddf64ad
commit 07b20d9d46
  1. 1
      base64/cursor.png.64
  2. 1
      base64/delete_cursor.png.64
  3. 1
      base64/exit.png.64
  4. 1
      base64/outline_tool.png.64
  5. 1
      base64/start.png.64
  6. 393
      dot.svg
  7. BIN
      exit.png
  8. 241
      game.js
  9. 10
      image_data.js
  10. BIN
      outline_tool.png
  11. BIN
      start.png

@ -0,0 +1 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kTtIw1AUhv+mSotUHOwgIpihOlnwhThKFYtgobQVWnUwuekLmjQkKS6OgmvBwcdi1cHFWVcHV0EQfIA4OTopukiJ5yaFFjEeuNyP/57/595zAaFRYarZNQ6ommWk4jExm1sVA68IYhg+DGBCYqaeSC9m4Flf99RJdRflWd59f1avkjcZ4BOJ55huWMQbxDObls55nzjMSpJCfE48ZtAFiR+5Lrv8xrnosMAzw0YmNU8cJhaLHSx3MCsZKvE0cURRNcoXsi4rnLc4q5Uaa92TvzCU11bSXKc1hDiWkEASImTUUEYFFqK0a6SYSNF5zMM/6PiT5JLJVQYjxwKqUCE5fvA/+D1bszA16SaFYkD3i21/jACBXaBZt+3vY9tungD+Z+BKa/urDWD2k/R6W4scAX3bwMV1W5P3gMsdYOBJlwzJkfy0hEIBeD+jb8oB/bdAz5o7t9Y5Th+ADM1q+QY4OARGi5S97vHuYOfc/u1pze8HpItyu9BIv2gAAAAGYktHRAB/AIkAkwUjLpAAAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQfkCB8BHB8TtsWjAAAAGXRFWHRDb21tZW50AENyZWF0ZWQgd2l0aCBHSU1QV4EOFwAAAF9JREFUOMvdk7EKwDAIRL3Q3+3cMWTMnA9+XTsYESwUept4HnKn6nOZh3GdPOs+lzxeswCAARElFsjgiJqSSgKqbkBGUBsizgAev2Xd3qXzTgoZt3fpqHqJ38f4g1+4AZ/YKVfkRNldAAAAAElFTkSuQmCC

@ -0,0 +1 @@
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

@ -0,0 +1 @@
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

@ -0,0 +1 @@
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

@ -0,0 +1 @@
iVBORw0KGgoAAAANSUhEUgAAAB8AAAAgCAYAAADqgqNBAAAACXBIWXMAAAHYAAAB2AH6XKZyAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAklJREFUSInF1s9LFGEcx/H3d2d2cx111NR1U6QURaUfEv1Qkij6sYeiwOjc2VO3vXToTwi67MFOde5QB6kgCKIiAhURl4i0xGXTTNR13Xac8ekkZrqTLOvM5/g8n+d5wcMwzyNDQ0PNjuM8FJETlCCfpicruqOH14yy8o1CHaXUB9u27+pKqScicqEUMIAVFobnx7nd0luwIyKtuq4HA0qp/lLBmxktX2Qk/cW1IyL9AUAvNY4e4JUzxVI249raAefzeTIZ10WuWc1moQxWKhRPZz5ys74HANM0CQaD2/V/FyeTSRKJRNF4qLuRyjt9AHxtWOf+owfYUwvE43Ha2tq2dQNFK3uJJhg3jiPh0K7T+4sDetQkfLHdHxwgfL6DiVzaHxyB0Zpl5jKLPuCAZWg8WxhjY2Prx+cZDvCtxuLtXNIfHOBNYIbZpZ/+4PkDwvPVCWzH9h4HmK3I8zI1ZviCA0zbSyFfcM1WXDU7s77gJ3/X0XGw2fIcr1oTLtd1A15/7UpxSWulsszwHm/PGJyObF0ynuFa1iZmdm0b8ww/+svgkFnvPW5NpukJN+0Y33dcWTa5F5PoAc17PPf6M/bcyq5zOx6QkUiEWCxWNJY2LFKbmy/m6Q21EIodobq6+v94NBplYGCgaPzdjyQpvoOCa+VdnL3VUbC7b8feshziTGT3h+PfeMq1UUR0S3G99hgi4lZLBYA4sF5KvM9qpLmq3q2yJiL3BCCRSDRpmtbl1t5rHr8fPnel89RItLYhV6jjOM744ODg/B+6E6vXSpdtlQAAAABJRU5ErkJggg==

@ -7,37 +7,37 @@
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="svg8"
inkscape:export-filename="C:\Users\sigon\OneDrive\Documents\ProjectM\ProjectM\dot.png"
inkscape:export-xdpi="5.0500002"
inkscape:export-ydpi="5.0500002"
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
sodipodi:docname="dot.svg"
inkscape:version="1.0 (4035a4fb49, 2020-05-01)">
inkscape:export-ydpi="5.0500002"
inkscape:export-xdpi="5.0500002"
inkscape:export-filename="C:\Users\sigon\OneDrive\Documents\ProjectM\ProjectM\pause.png"
id="svg8"
version="1.1"
viewBox="0 0 210 297"
height="297mm"
width="210mm">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.49497475"
inkscape:cx="343.44105"
inkscape:cy="757.79528"
inkscape:document-units="mm"
inkscape:current-layer="layer8"
inkscape:document-rotation="0"
showgrid="false"
inkscape:window-width="1274"
inkscape:window-maximized="0"
inkscape:window-y="2"
inkscape:window-x="2620"
inkscape:window-height="1074"
inkscape:window-x="1946"
inkscape:window-y="0"
inkscape:window-maximized="0" />
inkscape:window-width="1274"
showgrid="false"
inkscape:document-rotation="0"
inkscape:current-layer="layer9"
inkscape:document-units="mm"
inkscape:cy="757.79528"
inkscape:cx="343.44105"
inkscape:zoom="0.49497475"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#ffffff"
id="base" />
<metadata
id="metadata5">
<rdf:RDF>
@ -51,139 +51,121 @@
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer2"
style="display:none"
inkscape:label="Writer"
style="display:none">
id="layer2"
inkscape:groupmode="layer">
<rect
style="fill:#206476;fill-opacity:1;fill-rule:evenodd;stroke:#bcbcbc;stroke-width:0.964999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect1010"
width="44.901279"
height="198.84853"
x="83.388092"
y="52.919369"
ry="0"
inkscape:export-ydpi="4.0677924"
inkscape:export-xdpi="4.0677924"
inkscape:export-ydpi="4.0677924" />
<rect
ry="0"
y="-205.79753"
x="128.82391"
y="52.919369"
x="83.388092"
height="198.84853"
width="44.901279"
id="rect1010-9"
style="fill:#206476;fill-opacity:1;fill-rule:evenodd;stroke:#bcbcbc;stroke-width:0.964999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
transform="rotate(90)"
inkscape:export-xdpi="4.0677924"
inkscape:export-ydpi="4.0677924" />
<path
id="rect1010"
style="fill:#206476;fill-opacity:1;fill-rule:evenodd;stroke:#bcbcbc;stroke-width:0.964999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
inkscape:export-ydpi="4.0677924"
inkscape:export-xdpi="4.0677924"
id="path855"
d="M 205.79753,128.82391 128.28937,52.919367 v 30.991347 l 45.65739,45.657396 z"
style="fill:#206476;fill-opacity:1;stroke:#999999;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
transform="rotate(90)"
style="fill:#206476;fill-opacity:1;fill-rule:evenodd;stroke:#bcbcbc;stroke-width:0.964999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect1010-9"
width="44.901279"
height="198.84853"
x="128.82391"
y="-205.79753"
ry="0" />
<path
inkscape:export-ydpi="4.0677924"
style="fill:#206476;fill-opacity:1;stroke:#999999;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 205.79753,128.82391 128.28937,52.919367 v 30.991347 l 45.65739,45.657396 z"
id="path855"
inkscape:export-xdpi="4.0677924"
style="display:inline;fill:#206476;fill-opacity:1;stroke:#878787;stroke-width:0.26766px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
inkscape:export-ydpi="4.0677924" />
<path
id="path855-9"
d="m 205.79753,174.08732 -77.50816,77.68058 v -31.71649 l 45.65739,-46.7257 z"
id="path855-9" />
style="display:inline;fill:#206476;fill-opacity:1;stroke:#878787;stroke-width:0.26766px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
inkscape:export-xdpi="4.0677924"
inkscape:export-ydpi="4.0677924" />
</g>
<g
inkscape:label="Dot"
inkscape:groupmode="layer"
style="display:none"
id="layer1"
style="display:none">
inkscape:groupmode="layer"
inkscape:label="Dot">
<circle
style="fill:#a1a1a1;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:10;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path889"
cx="104.04629"
r="34.773811"
cy="149.80829"
r="34.773811" />
cx="104.04629"
id="path889"
style="fill:#a1a1a1;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:10;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
<g
style="display:none"
inkscape:groupmode="layer"
inkscape:label="RotationArrow"
id="layer4"
inkscape:label="RotationArrow">
inkscape:groupmode="layer"
style="display:none">
<path
id="path833"
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 147.52602,202.47906 c 0,0 -12.47322,-85.42262 91.8482,-83.91071 V 95.222397 l 52.87237,52.872393 -52.31353,30.20324 v -25.33384 c 0,0 -50.82967,-4.9137 -52.71955,50.27084 z"
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
id="path833" />
<path
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="path833-7"
d="m 114.32893,201.40998 c 0,0 12.47322,-85.42262 -91.848203,-83.91071 V 94.153323 l -52.872366,52.872387 52.313526,30.20324 v -25.33384 c 0,0 50.82967,-4.9137 52.71955,50.27084 z"
id="path833-7" />
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
<g
style="display:none"
inkscape:label="TrashCan"
inkscape:groupmode="layer"
id="layer5"
inkscape:groupmode="layer">
inkscape:label="TrashCan"
style="display:none">
<g
inkscape:export-ydpi="5.0500002"
id="g1508"
inkscape:export-xdpi="5.0500002"
id="g1508">
inkscape:export-ydpi="5.0500002">
<rect
y="113.17126"
x="70.054749"
height="106.90781"
width="88.198944"
style="fill:#000000;fill-rule:evenodd;stroke:#999999;stroke-width:7.99999"
id="rect833"
style="fill:#000000;fill-rule:evenodd;stroke:#999999;stroke-width:7.99999" />
width="88.198944"
height="106.90781"
x="70.054749"
y="113.17126" />
<ellipse
ry="8.2853546"
rx="43.030392"
cy="121.45661"
cx="113.08513"
style="fill:#000000;fill-rule:evenodd;stroke:#999999;stroke-width:7.99999"
id="path835"
style="fill:#000000;fill-rule:evenodd;stroke:#999999;stroke-width:7.99999" />
cx="113.08513"
cy="121.45661"
rx="43.030392"
ry="8.2853546" />
<rect
y="134.5528"
x="87.694542"
height="82.051743"
width="4.8108511"
style="fill:#000000;fill-rule:evenodd;stroke:#999999;stroke-width:7.99999"
id="rect837"
style="fill:#000000;fill-rule:evenodd;stroke:#999999;stroke-width:7.99999" />
width="4.8108511"
height="82.051743"
x="87.694542"
y="134.5528" />
<rect
y="134.5528"
x="112.81787"
height="82.853554"
width="3.7417734"
style="fill:#000000;fill-rule:evenodd;stroke:#999999;stroke-width:7.99999"
id="rect839"
style="fill:#000000;fill-rule:evenodd;stroke:#999999;stroke-width:7.99999" />
width="3.7417734"
height="82.853554"
x="112.81787"
y="134.5528" />
<rect
y="132.41466"
x="135.00124"
height="84.991714"
width="3.2072344"
id="rect841"
style="fill:#000000;fill-rule:evenodd;stroke:#999999;stroke-width:7.99999" />
<path
inkscape:transform-center-y="0.39874364"
inkscape:transform-center-x="2.0302258"
d="m 105.60406,77.501785 -2.33317,15.193188 3.85009,14.468957 -15.17057,2.47597 -12.571053,8.13281 -7.042753,-13.66295 -11.619429,-9.442609 10.81791,-10.920141 5.389851,-13.968659 13.728589,6.913934 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.039341711"
sodipodi:arg1="-0.67941381"
sodipodi:r2="17.335001"
sodipodi:r1="25.2651"
sodipodi:cy="93.376785"
sodipodi:cx="85.949303"
sodipodi:sides="5"
id="path845"
style="fill:#000000;fill-rule:evenodd;stroke:#999999;stroke-width:7.99999"
sodipodi:type="star" />
id="rect841"
width="3.2072344"
height="84.991714"
x="135.00124"
y="132.41466" />
<path
transform="rotate(26.564727,96.570001,105.51357)"
sodipodi:type="star"
style="fill:#000000;fill-rule:evenodd;stroke:#999999;stroke-width:7.99999"
id="path845-0"
id="path845"
sodipodi:sides="5"
sodipodi:cx="81.64286"
sodipodi:cy="99.407738"
sodipodi:cx="85.949303"
sodipodi:cy="93.376785"
sodipodi:r1="25.2651"
sodipodi:r2="17.335001"
sodipodi:arg1="-0.67941381"
@ -191,99 +173,172 @@
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 101.29762,83.532737 -2.333172,15.193188 3.850092,14.468955 -15.170572,2.47597 -12.571053,8.13281 -7.042754,-13.66295 -11.619428,-9.44261 10.817909,-10.920138 5.389851,-13.968659 13.72859,6.913934 z"
d="m 105.60406,77.501785 -2.33317,15.193188 3.85009,14.468957 -15.17057,2.47597 -12.571053,8.13281 -7.042753,-13.66295 -11.619429,-9.442609 10.81791,-10.920141 5.389851,-13.968659 13.728589,6.913934 z"
inkscape:transform-center-x="2.0302258"
inkscape:transform-center-y="0.39874364" />
<path
inkscape:transform-center-y="-1.6715653"
inkscape:transform-center-x="-0.76690555"
inkscape:transform-center-y="-1.6715653" />
d="m 101.29762,83.532737 -2.333172,15.193188 3.850092,14.468955 -15.170572,2.47597 -12.571053,8.13281 -7.042754,-13.66295 -11.619428,-9.44261 10.817909,-10.920138 5.389851,-13.968659 13.72859,6.913934 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.039341711"
sodipodi:arg1="-0.67941381"
sodipodi:r2="17.335001"
sodipodi:r1="25.2651"
sodipodi:cy="99.407738"
sodipodi:cx="81.64286"
sodipodi:sides="5"
id="path845-0"
style="fill:#000000;fill-rule:evenodd;stroke:#999999;stroke-width:7.99999"
sodipodi:type="star"
transform="rotate(26.564727,96.570001,105.51357)" />
<text
id="text864"
y="122.5257"
x="57.499897"
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:84.1219px;line-height:1.25;font-family:sans-serif;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.4929"
xml:space="preserve"><tspan
style="font-size:84.1219px;fill:#ff0000;fill-opacity:1;stroke-width:0.4929"
y="122.5257"
x="57.499897"
x="57.499897"
y="122.5257"
id="text864"><tspan
sodipodi:role="line"
id="tspan862"
sodipodi:role="line">X</tspan></text>
x="57.499897"
y="122.5257"
style="font-size:84.1219px;fill:#ff0000;fill-opacity:1;stroke-width:0.4929">X</tspan></text>
</g>
</g>
<g
style="display:none"
inkscape:label="PlayArrow"
inkscape:groupmode="layer"
id="layer6"
inkscape:groupmode="layer">
inkscape:label="PlayArrow"
style="display:none">
<path
inkscape:export-ydpi="3.9423411"
inkscape:export-xdpi="3.9423411"
style="fill:#007f19;fill-opacity:1;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path1510"
d="M 37.868598,36.470018 V 232.64584 L 190.42945,144.56479 c 0,0 -151.491774,-103.81846 -152.560852,-108.094772 z"
id="path1510" />
style="fill:#007f19;fill-opacity:1;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:export-xdpi="3.9423411"
inkscape:export-ydpi="3.9423411" />
</g>
<g
inkscape:label="Pause"
style="display:none"
inkscape:groupmode="layer"
id="layer8"
inkscape:groupmode="layer">
<rect
y="87.475571"
x="64.679222"
height="126.87458"
width="18.708866"
id="rect1576"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:8.58558;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
inkscape:label="Pause">
<rect
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:8.58558;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
id="rect1576-6"
id="rect1576"
width="18.708866"
height="126.87458"
x="125.88395"
x="64.679222"
y="87.475571" />
<rect
y="87.475571"
x="125.88395"
height="126.87458"
width="18.708866"
id="rect1576-6"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:8.58558;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
</g>
<g
style="display:none"
inkscape:label="Reset"
id="layer7"
inkscape:label="Misc"
id="layer9"
inkscape:groupmode="layer">
<circle
style="fill:#2e453a;fill-opacity:0;fill-rule:evenodd;stroke:#f4f4f4;stroke-width:4;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path2789"
cx="48.643051"
cy="130.96207"
r="59.868374"
inkscape:export-xdpi="19.709999"
inkscape:export-ydpi="19.709999" />
<g
transform="translate(64.490061,-28.545813)"
id="g2783"
inkscape:export-xdpi="12.005341"
inkscape:export-ydpi="12.005341">
<rect
y="96.761902"
x="82.020836"
height="55.940475"
width="55.940475"
id="rect833-8"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:10;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
<path
id="path2775"
d="M 121.07309,91.940718 V 158.7581 l 21.91611,-35.01231 z"
style="fill:#138951;fill-opacity:1;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
<g
transform="translate(64.490061,-28.545813)"
id="g2787"
inkscape:export-xdpi="10.727505"
inkscape:export-ydpi="10.727505">
<circle
r="32.883926"
cy="224.89583"
cx="109.23513"
id="path2777"
style="fill:#3b9067;fill-opacity:1;fill-rule:evenodd;stroke:#3db1c5;stroke-width:10;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
d="m 108.47916,224.13986 c -0.15687,0.45323 -0.68834,0.0122 -0.7533,-0.26072 -0.17604,-0.73947 0.6268,-1.26209 1.27473,-1.24586 1.159,0.029 1.87174,1.22014 1.73844,2.28874 -0.19561,1.56821 -1.81951,2.49383 -3.30275,2.23101 -1.97693,-0.35029 -3.12089,-2.42075 -2.72359,-4.31676 0.49997,-2.38594 3.02282,-3.75046 5.33078,-3.21616 2.79525,0.6471 4.38146,3.62533 3.70874,6.34479 -0.79278,3.20478 -4.22813,5.01335 -7.35881,4.2013 -3.61448,-0.93754 -5.64585,-4.83111 -4.69388,-8.37281 1.08169,-4.02431 5.43423,-6.27878 9.38683,-5.18646 4.43421,1.22542 6.912,6.03745 5.67903,10.40084 -1.36883,4.8442 -6.64073,7.54546 -11.41485,6.17161 -5.25424,-1.51202 -8.179088,-7.24407 -6.66418,-12.42887 1.65502,-5.66431 7.84746,-8.81285 13.44288,-7.15675 6.07442,1.79788 9.44673,8.45088 7.64932,14.45689 -1.94063,6.48456 -9.05434,10.0807 -15.4709,8.1419 -6.894731,-2.08329 -10.714746,-9.65782 -8.634471,-16.48491 2.225869,-7.30492 10.261311,-11.34885 17.498921,-9.12705 7.71512,2.36839 11.98301,10.86483 9.61962,18.51294 -2.51086,8.12533 -11.46836,12.6172 -19.52695,10.11219 -8.535556,-2.65328 -13.251443,-12.0719 -10.604762,-20.54096 2.795667,-8.9458 12.675452,-13.88572 21.554972,-11.09734 9.35604,2.93802 14.52001,13.27902 11.58991,22.56898 -3.08034,9.7663 -13.88259,15.15434 -23.58299,12.08249 -10.176565,-3.22264 -15.78869,-14.48617 -12.575063,-24.59701 3.364917,-10.58683 15.089763,-16.42305 25.611023,-13.06763 10.9971,3.50717 17.05743,15.69335 13.5602,26.62503 -3.64941,11.40738 -16.29695,17.69183 -27.63904,14.05278 -11.817666,-3.79164 -18.326243,-16.90055 -14.545355,-28.65305 3.933847,-12.22796 17.504165,-18.96067 29.667065,-15.03793 12.63825,4.07604 19.5951,18.10777 15.5305,30.68108 -3.41784,10.57264 -13.78994,17.68121 -24.864,17.24211"
sodipodi:t0="0"
sodipodi:argument="-48.361485"
sodipodi:radius="25.369497"
sodipodi:revolution="7.95646"
sodipodi:expansion="1"
sodipodi:cy="224.13986"
sodipodi:cx="108.47916"
id="path2779"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583"
sodipodi:type="spiral" />
</g>
</g>
<g
inkscape:groupmode="layer"
id="layer7"
inkscape:label="Reset"
style="display:none">
<g
inkscape:export-ydpi="3.4793682"
id="g1573"
inkscape:export-xdpi="3.4793682"
id="g1573">
inkscape:export-ydpi="3.4793682">
<g
id="g1544"
style="fill:#000000;fill-opacity:1">
style="fill:#000000;fill-opacity:1"
id="g1544">
<path
id="path1538"
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 14.741071,126.62202 h 21.166665 c 0,0 76.351194,-123.9761867 126.244044,-0.37798 25.32441,0 25.32441,0 25.32441,0 0,0 -67.27976,-195.035712 -172.735119,0.37798 z"
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
id="path1538" />
<path
sodipodi:nodetypes="ccccc"
id="path1540"
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 162.15178,126.24404 h -27.44794 l 41.64763,41.64763 35.4576,-41.69421 -24.33288,0.0466"
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
id="path1540"
sodipodi:nodetypes="ccccc" />
</g>
<g
style="fill:#000000;fill-opacity:1"
transform="rotate(180,104.01125,156.34664)"
id="g1544-5"
transform="rotate(180,104.01125,156.34664)">
style="fill:#000000;fill-opacity:1">
<path
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="path1538-8"
d="m 14.741071,126.62202 h 21.166665 c 0,0 76.351194,-123.9761867 126.244044,-0.37798 25.32441,0 25.32441,0 25.32441,0 0,0 -67.27976,-195.035712 -172.735119,0.37798 z"
id="path1538-8" />
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 162.15178,126.24404 h -27.44794 l 41.64763,41.64763 35.4576,-41.69421 -24.33288,0.0466"
sodipodi:nodetypes="ccccc"
id="path1540-0"
sodipodi:nodetypes="ccccc" />
d="m 162.15178,126.24404 h -27.44794 l 41.64763,41.64763 35.4576,-41.69421 -24.33288,0.0466"
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
</g>
</g>
<g
style="display:none"
inkscape:groupmode="layer"
inkscape:label="Arrow"
id="layer3"
inkscape:label="Arrow">
inkscape:groupmode="layer"
style="display:none">
<path
style="fill:#c0c0c0;fill-opacity:1;stroke:#888888;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path1032"
d="M 130.96875,97.895832 V 234.9122 l 70.96503,-70.96503 -71.15402,-71.154016 z"
id="path1032" />
style="fill:#c0c0c0;fill-opacity:1;stroke:#888888;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

@ -31,6 +31,14 @@ var BOT_STATE = ALIVE
var BOT_TAPE = "RB"
var BOT_QUEUE = []
var DELETEMODE = false
var DRAGGING = false
var DRAG_X = -1
var DRAG_Y = -1
var BOT_PREVX = BOT_X
var BOT_PREVY = BOT_Y
var MOBILE = false
var BELTDOWN = {type:"BELT",direction:DOWN/*,direction2 - defines a secondary direction. For two belts at once.*/}
var BELTRIGHT = {type:"BELT",direction:RIGHT}
@ -128,6 +136,8 @@ function runGameSimulation(){
gameState=WAITING
BOT_X=gameStage.start.x
BOT_Y=gameStage.start.y
BOT_PREVX=BOT_X
BOT_PREVY=BOT_Y
BOT_DIR=RIGHT
gameState=RUNNING
for (var i=0;i<MENU.buttons.length;i++) {
@ -478,7 +488,10 @@ function mouseOverButton(canvas,e,button) {
function clickEvent(e) {
//console.log(MENU.buttons)
if (e instanceof TouchEvent) {
MOBILE=true
e.preventDefault()
} else {
MOBILE=false
}
if (MENU.visible) {
for (var button of MENU.buttons) {
@ -512,23 +525,46 @@ function clickEvent(e) {
//console.log(getGridCoords(getMousePos(e)))
if (ITEM_SELECTED!==undefined||DELETEMODE) {
var clickCoords = getGridCoords(getMousePos(e))
if (clickCoords.x>=0&&clickCoords.y>=0&&clickCoords.y<gameGrid.length&&clickCoords.x<gameGrid[clickCoords.y].length) {
if (DELETEMODE) {
deleteObject(clickCoords)
} else {
placeObject(clickCoords,ITEM_SELECTED)
}
if (coordsInBounds(clickCoords)) {
modifyBoard(clickCoords,ITEM_SELECTED)
DRAGGING = true
DRAG_X = clickCoords.x
DRAG_Y = clickCoords.y
//console.log(gameGrid)
}
}
}
function coordsInBounds(coords) {
return coords.x>=0&&coords.y>=0&&coords.y<gameGrid.length&&coords.x<gameGrid[coords.y].length
}
function modifyBoard(clickCoords,item) {
if (DELETEMODE) {
deleteObject(clickCoords)
} else {
placeObject(clickCoords,item)
}
}
function notAForbiddenObject(coords) {
return (gameStage.start.x!==coords.x||gameStage.start.y!==coords.y)&&(gameGrid[coords.y][coords.x].type===undefined||(gameGrid[coords.y][coords.x].type&&gameGrid[coords.y][coords.x].type!=="EXIT"))
}
function deleteObject(coords,def) {
gameGrid[coords.y][coords.x]={}
if (notAForbiddenObject(coords)) {
gameGrid[coords.y][coords.x]={}
gameState=WAITING
endARound()
}
}
function placeObject(coords,def) {
var newObj={...def,direction:ITEM_DIRECTION}
gameGrid[coords.y][coords.x]=newObj
if (notAForbiddenObject(coords)) {
var newObj={...def,direction:ITEM_DIRECTION}
gameGrid[coords.y][coords.x]=newObj
gameState=WAITING
endARound()
}
}
function getGridCoords(pos) {
@ -552,6 +588,7 @@ function releaseEvent(e) {
}
SUBMENU.visible=false
}
DRAGGING = false
}
function loadLevel(level,botx,boty) {
@ -589,6 +626,17 @@ function updateMouse(e) {
var mousepos = getMousePos(e)
LAST_MOUSE_X=mousepos.x
LAST_MOUSE_Y=mousepos.y
if (DRAGGING) {
var clickCoords = getGridCoords(getMousePos(e))
if (coordsInBounds(clickCoords)) {
if (DRAG_X!==clickCoords.x||DRAG_Y!==clickCoords.y) {
modifyBoard(clickCoords,ITEM_SELECTED)
DRAG_X=clickCoords.x
DRAG_Y=clickCoords.y
}
}
}
}
function getMousePos(e) {
@ -624,14 +672,20 @@ function renderGame(ctx) {
if (gameGrid[y][x].img!==undefined) {
RenderIcon(GRID_X+GRID_W*x+16,GRID_Y+GRID_H*y+16,ctx,gameGrid[y][x],gameGrid[y][x].direction,undefined,{x:x,y:y})
}
if (BOT_X!==undefined) {
drawImage(
GRID_X+GRID_W*BOT_X+16+GRID_W/2,
GRID_Y+GRID_H*BOT_Y+16+GRID_H/2,
IMAGE_BOT,ctx,0*90)
if (gameGrid[y][x].type==="EXIT") {
drawImage(GRID_X+GRID_W*x+32,GRID_Y+GRID_H*y+32,IMAGE_EXIT,ctx,0,1)
}
}
}
drawImage(GRID_X+GRID_W*gameStage.start.x+16+GRID_W/2,
GRID_Y+GRID_H*gameStage.start.y+16+GRID_H/2,
IMAGE_ENTRANCE,ctx,0)
if (BOT_X!==undefined&&(gameState===RUNNING||gameState==REVIEWING)) {
drawImage(
GRID_X+GRID_W*BOT_X+16+GRID_W/2,
GRID_Y+GRID_H*BOT_Y+16+GRID_H/2,
IMAGE_BOT,ctx,0*90)
}
}
function colorToHex(r,g,b) {
@ -668,11 +722,12 @@ function colorToHex(r,g,b) {
return "#"+hex(r)+hex(g)+hex(b);
}
function drawImage(x,y,img,ctx,degrees){
function drawImage(x,y,img,ctx,degrees,scale=1){
//context.clearRect(0,0,canvas.width,canvas.height);
ctx.save();
ctx.translate(x,y);
ctx.rotate(degrees*Math.PI/180);
ctx.scale(scale,scale)
ctx.drawImage(img,-img.width/2,-img.height/2);
ctx.restore();
}
@ -689,7 +744,7 @@ function draw() {
ctx.fillRect(0,0,canvas.width,canvas.height)
renderGame(ctx)
if (ITEM_SELECTED) {
if (ITEM_SELECTED&&!MOBILE) {
RenderIcon(LAST_MOUSE_X-16,LAST_MOUSE_Y-16,ctx,ITEM_SELECTED,ITEM_DIRECTION)
}
//drawImage(0,0,IMAGE_CONVEYOR,ctx,0)
@ -705,6 +760,24 @@ function RenderGameInfo(ctx) {
ctx.fillStyle="#20424a"
ctx.fillRect(canvas.width*0.75,0,canvas.width,canvas.height*0.8)
RenderTape(canvas.width*0.75+8,8,canvas.width*0.25-16,ctx)
if (MOBILE) {
drawImage(canvas.width-96+24,canvas.height-96+32,
IMAGE_OUTLINE,ctx,0)
if (ITEM_SELECTED) {
if (ITEM_SELECTED.img===IMAGE_CONVEYOR) {
RenderIcon(canvas.width-48-38-16,canvas.height-48-32-16,ctx,ITEM_SELECTED,ITEM_DIRECTION,undefined,undefined,2)
} else {
RenderIcon(canvas.width-48-38,canvas.height-48-32,ctx,ITEM_SELECTED,ITEM_DIRECTION,undefined,undefined,2)
}
} else {
if (DELETEMODE) {
drawImage(canvas.width-48-24,canvas.height-48-16,IMAGE_DELETE_CURSOR,ctx,0,2)
} else {
drawImage(canvas.width-48-24,canvas.height-48-16,IMAGE_CURSOR,ctx,0,2)
}
}
}
}
}
@ -748,8 +821,8 @@ function RenderTape(x,y,width,ctx) {
}
}
function createVerticalGradient(x,y,up,ctx) {
var gradient = ctx.createLinearGradient(x, y+32*((up)?1:0), x, y+32*((up)?0:1));
function createVerticalGradient(x,y,up,ctx,scale) {
var gradient = ctx.createLinearGradient(x, y+32*scale*((up)?1:0), x, y+32*scale*((up)?0:1));
gradient.addColorStop(0,"rgb(124,162,157)")
gradient.addColorStop(0.31,"black")
gradient.addColorStop(0.6,"rgb(124,162,157)")
@ -760,8 +833,8 @@ function createVerticalGradient(x,y,up,ctx) {
return gradient
}
function createHorizontalGradient(x,y,right,ctx) {
var gradient = ctx.createLinearGradient(x+32*((right)?0:1), y, x+32*((right)?1:0), y);
function createHorizontalGradient(x,y,right,ctx,scale) {
var gradient = ctx.createLinearGradient(x+32*scale*((right)?0:1), y, x+32*scale*((right)?1:0), y);
gradient.addColorStop(0,"rgb(124,162,157)")
gradient.addColorStop(0.31,"black")
gradient.addColorStop(0.6,"rgb(124,162,157)")
@ -772,37 +845,37 @@ function createHorizontalGradient(x,y,right,ctx) {
return gradient
}
function DrawSingleConveyor(x,y,dir,ctx) {
ctx.lineWidth = 16;
function DrawSingleConveyor(x,y,dir,ctx,scale) {
ctx.lineWidth = 16*scale;
ctx.lineCap = "square"
ctx.strokeStyle="rgb(124,162,157)"
ctx.setLineDash([])
if (dir===LEFT||dir===RIGHT) {
ctx.beginPath()
ctx.moveTo(x+8,y+16)
ctx.lineTo(x+24,y+16)
ctx.moveTo(x+8*scale,y+16*scale)
ctx.lineTo(x+24*scale,y+16*scale)
ctx.stroke()
ctx.setLineDash([5,5])
ctx.lineDashOffset = -dashOffset*((dir===LEFT)?-1:1);
ctx.strokeStyle=createHorizontalGradient(x,y,dir===RIGHT,ctx)
ctx.lineWidth = 3.5;
ctx.setLineDash([5*scale,5*scale])
ctx.lineDashOffset = -dashOffset*((dir===LEFT)?-1*scale:1*scale);
ctx.strokeStyle=createHorizontalGradient(x,y,dir===RIGHT,ctx,scale)
ctx.lineWidth = 3.5*scale;
ctx.beginPath()
ctx.moveTo(x+2,y+16)
ctx.lineTo(x+30,y+16)
ctx.moveTo(x+2*scale,y+16*scale)
ctx.lineTo(x+30*scale,y+16*scale)
ctx.stroke()
} else {
ctx.beginPath()
ctx.moveTo(x+16,y+8)
ctx.lineTo(x+16,y+24)
ctx.moveTo(x+16*scale,y+8*scale)
ctx.lineTo(x+16*scale,y+24*scale)
ctx.stroke()
ctx.strokeStyle="rgb(34,62,57)"
ctx.setLineDash([5,5])
ctx.setLineDash([5*scale,5*scale])
ctx.lineDashOffset = -dashOffset*((dir===DOWN)?1:-1);
ctx.strokeStyle=createVerticalGradient(x,y,dir===UP,ctx)
ctx.lineWidth = 3.5;
ctx.strokeStyle=createVerticalGradient(x,y,dir===UP,ctx,scale)
ctx.lineWidth = 3.5*scale;
ctx.beginPath()
ctx.moveTo(x+16,y+2)
ctx.lineTo(x+16,y+30)
ctx.moveTo(x+16*scale,y+2*scale)
ctx.lineTo(x+16*scale,y+30*scale)
ctx.stroke()
}
}
@ -816,92 +889,92 @@ function GetOppositeDirection(dir) {
}
}
function DrawConnectedConveyor(x,y,ctx,connections,dir,pass=0) {
ctx.lineWidth = 15;
function DrawConnectedConveyor(x,y,ctx,connections,dir,scale,pass=0) {
ctx.lineWidth = 15*scale;
ctx.lineCap = "round"
ctx.strokeStyle="rgb(124,162,157)"
switch (Object.keys(connections).length) {
case 0:{
DrawSingleConveyor(x,y,dir,ctx)
DrawSingleConveyor(x*scale,y*scale,dir,ctx,scale)
}break;
default:{
ctx.lineWidth = 15;
ctx.lineWidth = 15*scale;
ctx.lineCap = "square"
ctx.strokeStyle="rgb(124,162,157)"
ctx.setLineDash([])
ctx.beginPath()
ctx.moveTo(x+16,y+16)
ctx.moveTo(x+16*scale,y+16*scale)
var endingPoint={x:0,y:0}
switch (dir) {
case UP:{startingPoint={x:0,y:-12};endingPoint={x:0,y:-14}}break;
case DOWN:{startingPoint={x:0,y:12};endingPoint={x:0,y:14}}break;
case RIGHT:{startingPoint={x:12,y:0};endingPoint={x:14,y:0}}break;
case LEFT:{startingPoint={x:-12,y:0};endingPoint={x:-14,y:0}}break;
case UP:{startingPoint={x:0,y:-12*scale};endingPoint={x:0,y:-14*scale}}break;
case DOWN:{startingPoint={x:0,y:12*scale};endingPoint={x:0,y:14*scale}}break;
case RIGHT:{startingPoint={x:12*scale,y:0};endingPoint={x:14*scale,y:0}}break;
case LEFT:{startingPoint={x:-12*scale,y:0};endingPoint={x:-14*scale,y:0}}break;
}
ctx.moveTo(x+16+startingPoint.x,y+16+startingPoint.y)
ctx.lineTo(x+16+endingPoint.x,y+16+endingPoint.y)
ctx.moveTo(x+16*scale+startingPoint.x,y+16*scale+startingPoint.y)
ctx.lineTo(x+16*scale+endingPoint.x,y+16*scale+endingPoint.y)
if (pass===0) {ctx.stroke();}
for (var connection of Object.keys(connections)) {
var startingPoint={x:x,y:y}
switch (Number(connection)) {
case UP:{startingPoint={x:x+16,y:y+8}}break;
case DOWN:{startingPoint={x:x+16,y:y+24}}break;
case RIGHT:{startingPoint={x:x+24,y:y+16}}break;
case LEFT:{startingPoint={x:x+8,y:y+16}}break;
case UP:{startingPoint={x:x+16*scale,y:y+8*scale}}break;
case DOWN:{startingPoint={x:x+16*scale,y:y+24*scale}}break;
case RIGHT:{startingPoint={x:x+24*scale,y:y+16*scale}}break;
case LEFT:{startingPoint={x:x+8*scale,y:y+16*scale}}break;
}
ctx.lineWidth = 16;
ctx.lineWidth = 16*scale;
ctx.lineCap = "square"
ctx.strokeStyle="rgb(124,162,157)"
ctx.setLineDash([])
ctx.beginPath()
ctx.moveTo(startingPoint.x,startingPoint.y)
ctx.lineTo(x+16,y+16)
ctx.lineTo(x+16*scale,y+16*scale)
if (pass===0) {ctx.stroke()}
ctx.setLineDash([5,5])
ctx.setLineDash([5*scale,5*scale])
ctx.lineDashOffset = -dashOffset*1;
if (Number(connection)===RIGHT||Number(connection)===LEFT) {
ctx.strokeStyle=createHorizontalGradient(x,y,Number(connection)===LEFT,ctx)
ctx.strokeStyle=createHorizontalGradient(x,y,Number(connection)===LEFT,ctx,scale)
} else {
ctx.strokeStyle=createVerticalGradient(x,y,Number(connection)===UP,ctx)
ctx.strokeStyle=createVerticalGradient(x,y,Number(connection)===UP,ctx,scale)
}
ctx.lineWidth = 3.5;
ctx.lineWidth = 3.5*scale;
ctx.beginPath()
startingPoint={x:x,y:y}
switch (Number(connection)) {
case UP:{startingPoint={x:x+16,y:y+2}}break;
case DOWN:{startingPoint={x:x+16,y:y+30}}break;
case RIGHT:{startingPoint={x:x+30,y:y+16}}break;
case LEFT:{startingPoint={x:x+2,y:y+16}}break;
case UP:{startingPoint={x:x+16*scale,y:y+2*scale}}break;
case DOWN:{startingPoint={x:x+16*scale,y:y+30*scale}}break;
case RIGHT:{startingPoint={x:x+30*scale,y:y+16*scale}}break;
case LEFT:{startingPoint={x:x+2*scale,y:y+16*scale}}break;
}
ctx.moveTo(startingPoint.x,startingPoint.y)
ctx.lineTo(x+16,y+16)
ctx.lineTo(x+16*scale,y+16*scale)
if (pass===1) {ctx.stroke()}
}
if (dir===RIGHT||dir===LEFT) {
ctx.strokeStyle=createHorizontalGradient(x,y,dir===LEFT,ctx)
ctx.strokeStyle=createHorizontalGradient(x,y,dir===LEFT,ctx,scale)
} else {
ctx.strokeStyle=createVerticalGradient(x,y,dir===UP,ctx)
ctx.strokeStyle=createVerticalGradient(x,y,dir===UP,ctx,scale)
}
ctx.setLineDash([5,5])
ctx.lineWidth = 3.5;
ctx.setLineDash([5*scale,5*scale])
ctx.lineWidth = 3.5*scale;
ctx.beginPath()
switch (dir) {
case UP:{startingPoint={x:0,y:-14}}break;
case DOWN:{startingPoint={x:0,y:14}}break;
case RIGHT:{startingPoint={x:14,y:0}}break;
case LEFT:{startingPoint={x:-14,y:0}}break;
case UP:{startingPoint={x:0,y:-14*scale}}break;
case DOWN:{startingPoint={x:0,y:14*scale}}break;
case RIGHT:{startingPoint={x:14*scale,y:0}}break;
case LEFT:{startingPoint={x:-14*scale,y:0}}break;
}
ctx.moveTo(x+16,y+16)
ctx.lineTo(x+16+startingPoint.x,y+16+startingPoint.y)
ctx.moveTo(x+16*scale,y+16*scale)
ctx.lineTo(x+16*scale+startingPoint.x,y+16*scale+startingPoint.y)
if (pass===1) {ctx.stroke();}
}break;
}
}
function RenderConveyor(x,y,ctx,icon_definition,dir=0,background=undefined,grid=undefined) {
function RenderConveyor(x,y,ctx,icon_definition,dir=0,background=undefined,grid=undefined,scale) {
if (grid===undefined) {
DrawSingleConveyor(x,y,dir,ctx)
DrawSingleConveyor(x,y,dir,ctx,scale)
} else {
var connections = {}
if (grid.x>0) {if (gameGrid[grid.y][grid.x-1].direction===RIGHT){connections[LEFT]=true}}
@ -909,46 +982,46 @@ function RenderConveyor(x,y,ctx,icon_definition,dir=0,background=undefined,grid=
if (grid.y>0) {if (gameGrid[grid.y-1][grid.x].direction===DOWN){connections[UP]=true}}
if (grid.y<gameGrid.length-1) {if (gameGrid[grid.y+1][grid.x].direction===UP){connections[DOWN]=true}}
//console.log("Connections: "+JSON.stringify(connections))
DrawConnectedConveyor(x,y,ctx,connections,dir)
DrawConnectedConveyor(x,y,ctx,connections,dir,1)
DrawConnectedConveyor(x,y,ctx,connections,dir,scale)
DrawConnectedConveyor(x,y,ctx,connections,dir,scale,1)
}
}
function RenderIcon(x,y,ctx,icon_definition,dir=0,background=undefined,renderToGrid=undefined) {
function RenderIcon(x,y,ctx,icon_definition,dir=0,background=undefined,renderToGrid=undefined,scale=1) {
if (background!==undefined) {
ctx.fillStyle=background
ctx.fillRect(x,y,32,32)
}
if (icon_definition.img===IMAGE_CONVEYOR) {
RenderConveyor(x,y,ctx,icon_definition,dir,background,renderToGrid)
RenderConveyor(x,y,ctx,icon_definition,dir,background,renderToGrid,scale)
} else {
if (icon_definition.img===IMAGE_BRANCH) {
drawImage(
x+16,
y+16,
icon_definition.img,ctx,dir*90)
icon_definition.img,ctx,dir*90,scale)
} else {
drawImage(
x+16,
y+16,
icon_definition.img,ctx,dir*90-90)
icon_definition.img,ctx,dir*90-90,scale)
}
switch (icon_definition.img) {
case IMAGE_BRANCH:{
drawImage(
x+16,
y+16,
GetArrowImage(icon_definition.color1),ctx,dir*90+0)
GetArrowImage(icon_definition.color1),ctx,dir*90+0,scale)
drawImage(
x+16,
y+16,
GetArrowImage(icon_definition.color2),ctx,dir*90+180)
GetArrowImage(icon_definition.color2),ctx,dir*90+180,scale)
}break;
case IMAGE_WRITER:{
drawImage(
x+16,
y+16,
GetDotImage(icon_definition.color1),ctx,dir*90-90)
GetDotImage(icon_definition.color1),ctx,dir*90-90,scale)
}break;
}
}

@ -54,3 +54,13 @@ const IMAGE_PLAY = new Image();
IMAGE_PLAY.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAgCAYAAADnnNMGAAAACXBIWXMAAACbAAAAmwEPcaP1AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAj9JREFUSIm11rtrFVkcB/DPmdwbbx7GRK+IQbbQVQwIK0RIYSciguBa6RaKCxa+UCu1EDvZXaxstBAr8Q/QwifIrgirLrusq2ChyD6qKCJ41U2MuXMsJiM+gibm5FtNcc7vM2f48ZsDD3ASVdOYiCi4jgXTh8yrRi2hKXiKddODrOyMdtSj2ZUmchxDLRWQvX2aV2V7PbO8PWCf4HcsS4tAa+DbWWzsYUbWJ/gDBz9aNyWkTF+NnfXMV61V/IQr6E2LQFcLW+cEa7vIrBLcxfq0CAQMdLCtHvRUunEWx9GWDinTWy0+30BHwC7BbfSnRaASWNvFph5q2deCmziElnRImaU1ds/NLKlVcERwA4vTItCR8V0PG7qphH7BHexLi5T5po1dczMLWlsVU+IS5qdFoLuF7+dkVs8ks2bsVO+1+tSRssrKzrLVZ+McTqMzHVKmt8qOemZFO2wR/IWBtAhUA+tm0d9OtBAXKsmRR6+52Ij+HQmCh6Ld6ZDhnF9e8NvLiGEcFf2IV1NHIu4McbmRG8oDzuAABsslU0P+GeHis9zj0Wxsnu3Brx8u+zKk0eTq8+IEwRMcFp1S/Lo/yuSQ0citl1x7kRuNOU6IDqPxqW0TR+4Pc6GRe9bM8DP24t5Etn4eGRxryf9GguBvxSA8P+GX+yQylHNt/JacDDA+kuPP/7n6vGkozxQtuR+PJlt8fGT8lrzxpcXfTbSsLeqrFXfizCA2K64RyVJeuEfwg7HxnDbBA8VVZ1H64kXeAM9RoeriawdYAAAAAElFTkSuQmCC"
const IMAGE_PAUSE = new Image();
IMAGE_PAUSE.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAbCAYAAABxwd+fAAAACXBIWXMAAADGAAAAxgGwdJvFAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAALxJREFUOI3t1TGKwzAQQNE/JoXQGQTGpbFP5HJhXfsoKo0XUupCSWpj0BmMKk8KJ2QXglnYcvXLQfNQNzKO40VEWl5tIvLZ9/2ZN03T9KGqX0DxnKnq9SQi7bquLMuCMYaqqgqgeYc8aoBinmdSSpRlibW2LQBijHjvCSEc7P8shID3nhgjfP/eX8tQhjKUoQz9Q+gE4JxjGAaMMb9e7LqOlBLOuR1S1au1tq3r+vlmA24Hxg3YHocU2C/tHUseO6D31KjVAAAAAElFTkSuQmCC"
const IMAGE_ENTRANCE = new Image();
IMAGE_ENTRANCE.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAgCAYAAADqgqNBAAAACXBIWXMAAAHYAAAB2AH6XKZyAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAklJREFUSInF1s9LFGEcx/H3d2d2cx111NR1U6QURaUfEv1Qkij6sYeiwOjc2VO3vXToTwi67MFOde5QB6kgCKIiAhURl4i0xGXTTNR13Xac8ekkZrqTLOvM5/g8n+d5wcMwzyNDQ0PNjuM8FJETlCCfpicruqOH14yy8o1CHaXUB9u27+pKqScicqEUMIAVFobnx7nd0luwIyKtuq4HA0qp/lLBmxktX2Qk/cW1IyL9AUAvNY4e4JUzxVI249raAefzeTIZ10WuWc1moQxWKhRPZz5ys74HANM0CQaD2/V/FyeTSRKJRNF4qLuRyjt9AHxtWOf+owfYUwvE43Ha2tq2dQNFK3uJJhg3jiPh0K7T+4sDetQkfLHdHxwgfL6DiVzaHxyB0Zpl5jKLPuCAZWg8WxhjY2Prx+cZDvCtxuLtXNIfHOBNYIbZpZ/+4PkDwvPVCWzH9h4HmK3I8zI1ZviCA0zbSyFfcM1WXDU7s77gJ3/X0XGw2fIcr1oTLtd1A15/7UpxSWulsszwHm/PGJyObF0ynuFa1iZmdm0b8ww/+svgkFnvPW5NpukJN+0Y33dcWTa5F5PoAc17PPf6M/bcyq5zOx6QkUiEWCxWNJY2LFKbmy/m6Q21EIodobq6+v94NBplYGCgaPzdjyQpvoOCa+VdnL3VUbC7b8feshziTGT3h+PfeMq1UUR0S3G99hgi4lZLBYA4sF5KvM9qpLmq3q2yJiL3BCCRSDRpmtbl1t5rHr8fPnel89RItLYhV6jjOM744ODg/B+6E6vXSpdtlQAAAABJRU5ErkJggg=="
const IMAGE_OUTLINE = new Image();
IMAGE_OUTLINE.src="data:image/png;base64,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"
const IMAGE_DELETE_CURSOR = new Image();
IMAGE_DELETE_CURSOR.src="data:image/png;base64,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"
const IMAGE_CURSOR = new Image();
IMAGE_CURSOR.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kTtIw1AUhv+mSotUHOwgIpihOlnwhThKFYtgobQVWnUwuekLmjQkKS6OgmvBwcdi1cHFWVcHV0EQfIA4OTopukiJ5yaFFjEeuNyP/57/595zAaFRYarZNQ6ommWk4jExm1sVA68IYhg+DGBCYqaeSC9m4Flf99RJdRflWd59f1avkjcZ4BOJ55huWMQbxDObls55nzjMSpJCfE48ZtAFiR+5Lrv8xrnosMAzw0YmNU8cJhaLHSx3MCsZKvE0cURRNcoXsi4rnLc4q5Uaa92TvzCU11bSXKc1hDiWkEASImTUUEYFFqK0a6SYSNF5zMM/6PiT5JLJVQYjxwKqUCE5fvA/+D1bszA16SaFYkD3i21/jACBXaBZt+3vY9tungD+Z+BKa/urDWD2k/R6W4scAX3bwMV1W5P3gMsdYOBJlwzJkfy0hEIBeD+jb8oB/bdAz5o7t9Y5Th+ADM1q+QY4OARGi5S97vHuYOfc/u1pze8HpItyu9BIv2gAAAAGYktHRAB/AIkAkwUjLpAAAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQfkCB8BHB8TtsWjAAAAGXRFWHRDb21tZW50AENyZWF0ZWQgd2l0aCBHSU1QV4EOFwAAAF9JREFUOMvdk7EKwDAIRL3Q3+3cMWTMnA9+XTsYESwUept4HnKn6nOZh3GdPOs+lzxeswCAARElFsjgiJqSSgKqbkBGUBsizgAev2Xd3qXzTgoZt3fpqHqJ38f4g1+4AZ/YKVfkRNldAAAAAElFTkSuQmCC"
const IMAGE_EXIT = new Image();
IMAGE_EXIT.src="data:image/png;base64,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"

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 700 B

Loading…
Cancel
Save