To beatRandom agent 0
Join
What shoal-games changes in this game
Branched from main at cef7bd7 by @shoal shoal · 1 commit ahead, 0 behind main
Continue
Contribute back
2124 lines · 73.5 KB Raw Permalink History
1# MIT License
2#
3# Copyright (c) 2026 ARC Prize Foundation
4#
5# Permission is hereby granted, free of charge, to any person obtaining a copy
6# of this software and associated documentation files (the "Software"), to deal
7# in the Software without restriction, including without limitation the rights
8# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9# copies of the Software, and to permit persons to whom the Software is
10# furnished to do so, subject to the following conditions:
11#
12# The above copyright notice and this permission notice shall be included in all
13# copies or substantial portions of the Software.
14#
15# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21# SOFTWARE.
22
23import numpy as np
24from arcengine import (
25 ARCBaseGame,
26 Camera,
27 GameAction,
28 Level,
29 RenderableUserDisplay,
30 Sprite,
31)
32
33sprites = {
34 "0000ufilpvvllo": Sprite(
35 pixels=[
36 [5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5],
37 [5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5],
38 [5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5],
39 ],
40 name="0000ufilpvvllo",
41 visible=True,
42 collidable=True,
43 tags=["0001symqacyexa"],
44 ),
45 "0002eemauzpzws": Sprite(
46 pixels=[
47 [5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5],
48 [5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5],
49 ],
50 name="0002eemauzpzws",
51 visible=True,
52 collidable=True,
53 tags=["0001symqacyexa"],
54 ),
55 "0003qvhiakludh": Sprite(
56 pixels=[
57 [1, 1, 1],
58 [1, 1, 1],
59 [1, 1, 1],
60 [1, 1, 1],
61 [1, 1, 1],
62 [1, 1, 1],
63 [1, 1, 1],
64 [1, 1, 1],
65 [1, 1, 1],
66 [1, 1, 1],
67 [1, 1, 1],
68 [1, 1, 1],
69 ],
70 name="0003qvhiakludh",
71 visible=True,
72 collidable=True,
73 tags=["0004sttgkofqwb", "sys_click"],
74 layer=3,
75 ),
76 "0005nxriaixjyr": Sprite(
77 pixels=[
78 [1, 1],
79 [1, 1],
80 [1, 1],
81 [1, 1],
82 [1, 1],
83 [1, 1],
84 [1, 1],
85 [1, 1],
86 ],
87 name="0005nxriaixjyr",
88 visible=True,
89 collidable=True,
90 tags=["0004sttgkofqwb", "sys_click"],
91 layer=3,
92 ),
93 "0006mfbmvylbss": Sprite(
94 pixels=[
95 [-2, -1, -1, -1, -1, -1, -2],
96 [-2, -1, -1, -1, -1, -1, -2],
97 [0, -1, -1, -1, -1, -1, 0],
98 [0, -1, -1, -1, -1, -1, 0],
99 [0, -1, -1, -1, -1, -1, 0],
100 [0, -1, -1, -1, -1, -1, 0],
101 [0, -1, -1, -1, -1, -1, 0],
102 [0, -1, -1, -1, -1, -1, 0],
103 [0, -1, -1, -1, -1, -1, 0],
104 [0, -1, -1, -1, -1, -1, 0],
105 [-2, -1, -1, -1, -1, -1, -2],
106 [-2, -1, -1, -1, -1, -1, -2],
107 ],
108 name="0006mfbmvylbss",
109 visible=True,
110 collidable=True,
111 tags=["0007gyluczquhi"],
112 ),
113 "0008rybtprnbie": Sprite(
114 pixels=[
115 [-2, -1, -1, -1, -1, -2],
116 [0, -1, -1, -1, -1, 0],
117 [0, -1, -1, -1, -1, 0],
118 [0, -1, -1, -1, -1, 0],
119 [0, -1, -1, -1, -1, 0],
120 [0, -1, -1, -1, -1, 0],
121 [0, -1, -1, -1, -1, 0],
122 [-2, -1, -1, -1, -1, -2],
123 ],
124 name="0008rybtprnbie",
125 visible=True,
126 collidable=True,
127 tags=["0007gyluczquhi"],
128 ),
129 "0009vwghyhtilb": Sprite(
130 pixels=[
131 [-2, -2],
132 [-2, -2],
133 [11, 11],
134 ],
135 name="0009vwghyhtilb",
136 visible=True,
137 collidable=True,
138 tags=["0010gnulkywfpz"],
139 layer=2,
140 ),
141 "0011egrqhpaniv": Sprite(
142 pixels=[
143 [-2, -2],
144 [-2, -2],
145 [14, 14],
146 ],
147 name="0011egrqhpaniv",
148 visible=True,
149 collidable=True,
150 tags=["0010gnulkywfpz"],
151 layer=1,
152 ),
153 "0012efovcqtrsv": Sprite(
154 pixels=[
155 [-2, -2],
156 [-2, -2],
157 [15, 15],
158 ],
159 name="0012efovcqtrsv",
160 visible=True,
161 collidable=True,
162 tags=["0010gnulkywfpz"],
163 layer=1,
164 ),
165 "0013nlpqaanefy": Sprite(
166 pixels=[
167 [-2, -2, -2],
168 [-2, -2, -2],
169 [-2, -2, -2],
170 [-2, -2, -2],
171 [11, 11, 11],
172 [11, 11, 11],
173 ],
174 name="0013nlpqaanefy",
175 visible=True,
176 collidable=True,
177 tags=["0010gnulkywfpz"],
178 layer=1,
179 ),
180 "0014fnratutanf": Sprite(
181 pixels=[
182 [-2, -2, -2],
183 [-2, -2, -2],
184 [-2, -2, -2],
185 [-2, -2, -2],
186 [14, 14, 14],
187 [14, 14, 14],
188 ],
189 name="0014fnratutanf",
190 visible=True,
191 collidable=True,
192 tags=["0010gnulkywfpz"],
193 layer=1,
194 ),
195 "0015cltmlkogkc": Sprite(
196 pixels=[
197 [-1, 4, -1],
198 [4, 4, 4],
199 [11, 11, 11],
200 ],
201 name="0015cltmlkogkc",
202 visible=True,
203 collidable=True,
204 tags=["0016uciqlhjlom"],
205 layer=1,
206 ),
207 "0017pmjcrnwxxj": Sprite(
208 pixels=[
209 [-1, 4, -1],
210 [4, 4, 4],
211 [14, 14, 14],
212 ],
213 name="0017pmjcrnwxxj",
214 visible=True,
215 collidable=True,
216 tags=["0016uciqlhjlom"],
217 ),
218 "0018rxmsqpnhhx": Sprite(
219 pixels=[
220 [-1, 4, -1],
221 [4, 4, 4],
222 [15, 15, 15],
223 ],
224 name="0018rxmsqpnhhx",
225 visible=True,
226 collidable=True,
227 tags=["0016uciqlhjlom"],
228 ),
229 "0019yzthbwsumy": Sprite(
230 pixels=[
231 [-1, -1, 4, 4, -1, -1],
232 [-1, -1, 4, 4, -1, -1],
233 [4, 4, 4, 4, 4, 4],
234 [4, 4, 4, 4, 4, 4],
235 [11, 11, 11, 11, 11, 11],
236 [11, 11, 11, 11, 11, 11],
237 ],
238 name="0019yzthbwsumy",
239 visible=True,
240 collidable=True,
241 tags=["0016uciqlhjlom"],
242 layer=1,
243 ),
244 "0020supxvsgicv": Sprite(
245 pixels=[
246 [-1, -1, 4, 4, -1, -1],
247 [-1, -1, 4, 4, -1, -1],
248 [4, 4, 4, 4, 4, 4],
249 [4, 4, 4, 4, 4, 4],
250 [14, 14, 14, 14, 14, 14],
251 [14, 14, 14, 14, 14, 14],
252 ],
253 name="0020supxvsgicv",
254 visible=True,
255 collidable=True,
256 tags=["0016uciqlhjlom"],
257 layer=1,
258 ),
259 "0021ayhektiwsl": Sprite(
260 pixels=[
261 [9, 9],
262 [9, 9],
263 ],
264 name="0021ayhektiwsl",
265 visible=True,
266 collidable=True,
267 tags=["0022jvmlspyigc", "sys_click"],
268 layer=1,
269 ),
270 "0023zpxhabfwya": Sprite(
271 pixels=[
272 [9, 9, 9],
273 [9, 9, 9],
274 [9, 9, 9],
275 ],
276 name="0023zpxhabfwya",
277 visible=True,
278 collidable=True,
279 tags=["0022jvmlspyigc", "sys_click"],
280 layer=1,
281 ),
282 "0024oklzljpbjf": Sprite(
283 pixels=[
284 [5, 5],
285 [5, 5],
286 [5, 5],
287 [5, 5],
288 [5, 5],
289 [5, 5],
290 [5, 5],
291 [5, 5],
292 [5, 5],
293 [5, 5],
294 [5, 5],
295 [5, 5],
296 [5, 5],
297 [5, 5],
298 [5, 5],
299 [5, 5],
300 [5, 5],
301 [5, 5],
302 [5, 5],
303 [5, 5],
304 [5, 5],
305 [5, 5],
306 ],
307 name="0024oklzljpbjf",
308 visible=True,
309 collidable=True,
310 tags=["0025yfyiswdvoh"],
311 layer=1,
312 ),
313 "0026mrilttcabm": Sprite(
314 pixels=[
315 [5, 5],
316 [5, 5],
317 [5, 5],
318 [5, 5],
319 [5, 5],
320 [5, 5],
321 [5, 5],
322 [5, 5],
323 [5, 5],
324 [5, 5],
325 [5, 5],
326 [5, 5],
327 [5, 5],
328 [5, 5],
329 [5, 5],
330 [5, 5],
331 [5, 5],
332 [5, 5],
333 [5, 5],
334 [5, 5],
335 [5, 5],
336 [5, 5],
337 [5, 5],
338 [5, 5],
339 [5, 5],
340 [5, 5],
341 [5, 5],
342 [5, 5],
343 ],
344 name="0026mrilttcabm",
345 visible=True,
346 collidable=True,
347 tags=["0025yfyiswdvoh"],
348 ),
349 "0027sdwqirupzd": Sprite(
350 pixels=[
351 [5, 5],
352 [5, 5],
353 [5, 5],
354 [5, 5],
355 [5, 5],
356 [5, 5],
357 [5, 5],
358 [5, 5],
359 [5, 5],
360 [5, 5],
361 [5, 5],
362 [5, 5],
363 [5, 5],
364 [5, 5],
365 [5, 5],
366 [5, 5],
367 [5, 5],
368 [5, 5],
369 [5, 5],
370 [5, 5],
371 [5, 5],
372 [5, 5],
373 ],
374 name="0027sdwqirupzd",
375 visible=True,
376 collidable=True,
377 tags=["0025yfyiswdvoh"],
378 ),
379 "0028yrxfnwssrz": Sprite(
380 pixels=[
381 [5, 5],
382 [5, 5],
383 [5, 5],
384 [5, 5],
385 [5, 5],
386 [5, 5],
387 ],
388 name="0028yrxfnwssrz",
389 visible=True,
390 collidable=True,
391 tags=["0025yfyiswdvoh"],
392 ),
393 "0029hisqstrfef": Sprite(
394 pixels=[
395 [5, 5],
396 [5, 5],
397 [5, 5],
398 [5, 5],
399 [5, 5],
400 [5, 5],
401 [5, 5],
402 [5, 5],
403 [5, 5],
404 [5, 5],
405 [5, 5],
406 [5, 5],
407 [5, 5],
408 [5, 5],
409 [5, 5],
410 [5, 5],
411 [5, 5],
412 [5, 5],
413 [5, 5],
414 [5, 5],
415 [5, 5],
416 [5, 5],
417 [5, 5],
418 [5, 5],
419 [5, 5],
420 [5, 5],
421 [5, 5],
422 [5, 5],
423 ],
424 name="0029hisqstrfef",
425 visible=True,
426 collidable=True,
427 tags=["0025yfyiswdvoh"],
428 ),
429 "0030tpzxnyfdvh": Sprite(
430 pixels=[
431 [5, 5, 5],
432 [5, 5, 5],
433 [5, 5, 5],
434 [5, 5, 5],
435 [5, 5, 5],
436 [5, 5, 5],
437 [5, 5, 5],
438 [5, 5, 5],
439 [5, 5, 5],
440 [5, 5, 5],
441 [5, 5, 5],
442 [5, 5, 5],
443 [-1, -1, -1],
444 [-1, -1, -1],
445 [-1, -1, -1],
446 [-1, -1, -1],
447 [-1, -1, -1],
448 [-1, -1, -1],
449 [-1, -1, -1],
450 [-1, -1, -1],
451 [-1, -1, -1],
452 [-1, -1, -1],
453 [-1, -1, -1],
454 [-1, -1, -1],
455 [5, 5, 5],
456 [5, 5, 5],
457 [5, 5, 5],
458 [5, 5, 5],
459 [5, 5, 5],
460 [5, 5, 5],
461 [5, 5, 5],
462 [5, 5, 5],
463 [5, 5, 5],
464 ],
465 name="0030tpzxnyfdvh",
466 visible=True,
467 collidable=True,
468 tags=["0025yfyiswdvoh"],
469 ),
470 "0031pjczzavayi": Sprite(
471 pixels=[
472 [5, 5, 5],
473 [5, 5, 5],
474 [5, 5, 5],
475 [5, 5, 5],
476 [5, 5, 5],
477 [5, 5, 5],
478 [5, 5, 5],
479 [5, 5, 5],
480 [5, 5, 5],
481 [5, 5, 5],
482 [5, 5, 5],
483 [5, 5, 5],
484 [-1, -1, -1],
485 [-1, -1, -1],
486 [-1, -1, -1],
487 [-1, -1, -1],
488 [-1, -1, -1],
489 [-1, -1, -1],
490 [-1, -1, -1],
491 [-1, -1, -1],
492 [-1, -1, -1],
493 [-1, -1, -1],
494 [-1, -1, -1],
495 [-1, -1, -1],
496 [5, 5, 5],
497 [5, 5, 5],
498 [5, 5, 5],
499 [5, 5, 5],
500 [5, 5, 5],
501 [5, 5, 5],
502 [5, 5, 5],
503 [5, 5, 5],
504 [5, 5, 5],
505 [5, 5, 5],
506 [5, 5, 5],
507 [5, 5, 5],
508 [5, 5, 5],
509 [5, 5, 5],
510 [5, 5, 5],
511 [5, 5, 5],
512 [5, 5, 5],
513 [5, 5, 5],
514 ],
515 name="0031pjczzavayi",
516 visible=True,
517 collidable=True,
518 tags=["0025yfyiswdvoh"],
519 ),
520 "0032xvysrppdmd": Sprite(
521 pixels=[
522 [5, 5, 5],
523 [5, 5, 5],
524 [5, 5, 5],
525 [5, 5, 5],
526 [5, 5, 5],
527 [5, 5, 5],
528 [5, 5, 5],
529 [5, 5, 5],
530 [5, 5, 5],
531 [5, 5, 5],
532 [5, 5, 5],
533 [5, 5, 5],
534 [5, 5, 5],
535 [5, 5, 5],
536 [5, 5, 5],
537 [-1, -1, -1],
538 [-1, -1, -1],
539 [-1, -1, -1],
540 [-1, -1, -1],
541 [-1, -1, -1],
542 [-1, -1, -1],
543 [-1, -1, -1],
544 [-1, -1, -1],
545 [-1, -1, -1],
546 [-1, -1, -1],
547 [-1, -1, -1],
548 [-1, -1, -1],
549 [5, 5, 5],
550 [5, 5, 5],
551 [5, 5, 5],
552 [5, 5, 5],
553 [5, 5, 5],
554 [5, 5, 5],
555 [5, 5, 5],
556 [5, 5, 5],
557 [5, 5, 5],
558 [5, 5, 5],
559 [5, 5, 5],
560 [5, 5, 5],
561 [5, 5, 5],
562 [5, 5, 5],
563 [5, 5, 5],
564 [5, 5, 5],
565 [5, 5, 5],
566 [5, 5, 5],
567 [5, 5, 5],
568 [5, 5, 5],
569 [5, 5, 5],
570 [5, 5, 5],
571 [5, 5, 5],
572 [5, 5, 5],
573 [5, 5, 5],
574 [5, 5, 5],
575 [5, 5, 5],
576 ],
577 name="0032xvysrppdmd",
578 visible=True,
579 collidable=True,
580 tags=["0025yfyiswdvoh"],
581 ),
582 "0033jkunkpsthb": Sprite(
583 pixels=[
584 [5, 5, 5],
585 [5, 5, 5],
586 [5, 5, 5],
587 [5, 5, 5],
588 [5, 5, 5],
589 [5, 5, 5],
590 [5, 5, 5],
591 [5, 5, 5],
592 [5, 5, 5],
593 [5, 5, 5],
594 [5, 5, 5],
595 [5, 5, 5],
596 [5, 5, 5],
597 [5, 5, 5],
598 [5, 5, 5],
599 [-1, -1, -1],
600 [-1, -1, -1],
601 [-1, -1, -1],
602 [-1, -1, -1],
603 [-1, -1, -1],
604 [-1, -1, -1],
605 [-1, -1, -1],
606 [-1, -1, -1],
607 [-1, -1, -1],
608 [-1, -1, -1],
609 [-1, -1, -1],
610 [-1, -1, -1],
611 [5, 5, 5],
612 [5, 5, 5],
613 [5, 5, 5],
614 [5, 5, 5],
615 [5, 5, 5],
616 [5, 5, 5],
617 [5, 5, 5],
618 [5, 5, 5],
619 [5, 5, 5],
620 [5, 5, 5],
621 [5, 5, 5],
622 [5, 5, 5],
623 ],
624 name="0033jkunkpsthb",
625 visible=True,
626 collidable=True,
627 tags=["0025yfyiswdvoh"],
628 ),
629 "0034gljhkoittz": Sprite(
630 pixels=[
631 [5, 5, 5],
632 [5, 5, 5],
633 [5, 5, 5],
634 [5, 5, 5],
635 [5, 5, 5],
636 [5, 5, 5],
637 [5, 5, 5],
638 [5, 5, 5],
639 [5, 5, 5],
640 [5, 5, 5],
641 [5, 5, 5],
642 [5, 5, 5],
643 [-1, -1, -1],
644 [-1, -1, -1],
645 [-1, -1, -1],
646 [-1, -1, -1],
647 [-1, -1, -1],
648 [-1, -1, -1],
649 [-1, -1, -1],
650 [-1, -1, -1],
651 [-1, -1, -1],
652 [-1, -1, -1],
653 [-1, -1, -1],
654 [-1, -1, -1],
655 [5, 5, 5],
656 [5, 5, 5],
657 [5, 5, 5],
658 [5, 5, 5],
659 [5, 5, 5],
660 [5, 5, 5],
661 [5, 5, 5],
662 [5, 5, 5],
663 [5, 5, 5],
664 [5, 5, 5],
665 [5, 5, 5],
666 [5, 5, 5],
667 [5, 5, 5],
668 [5, 5, 5],
669 [5, 5, 5],
670 [5, 5, 5],
671 [5, 5, 5],
672 [5, 5, 5],
673 [5, 5, 5],
674 [5, 5, 5],
675 [5, 5, 5],
676 [5, 5, 5],
677 [5, 5, 5],
678 [5, 5, 5],
679 ],
680 name="0034gljhkoittz",
681 visible=True,
682 collidable=True,
683 tags=["0025yfyiswdvoh"],
684 ),
685 "0035mojyqpmkca": Sprite(
686 pixels=[
687 [5, 5, 5],
688 [5, 5, 5],
689 [5, 5, 5],
690 [5, 5, 5],
691 [5, 5, 5],
692 [5, 5, 5],
693 [5, 5, 5],
694 [5, 5, 5],
695 [5, 5, 5],
696 [5, 5, 5],
697 [5, 5, 5],
698 [5, 5, 5],
699 [-1, -1, -1],
700 [-1, -1, -1],
701 [-1, -1, -1],
702 [-1, -1, -1],
703 [-1, -1, -1],
704 [-1, -1, -1],
705 [-1, -1, -1],
706 [-1, -1, -1],
707 [-1, -1, -1],
708 [-1, -1, -1],
709 [-1, -1, -1],
710 [-1, -1, -1],
711 [5, 5, 5],
712 [5, 5, 5],
713 [5, 5, 5],
714 [5, 5, 5],
715 [5, 5, 5],
716 [5, 5, 5],
717 [5, 5, 5],
718 [5, 5, 5],
719 [5, 5, 5],
720 [5, 5, 5],
721 [5, 5, 5],
722 [5, 5, 5],
723 [-1, -1, -1],
724 [-1, -1, -1],
725 [-1, -1, -1],
726 [-1, -1, -1],
727 [-1, -1, -1],
728 [-1, -1, -1],
729 [-1, -1, -1],
730 [-1, -1, -1],
731 [-1, -1, -1],
732 [-1, -1, -1],
733 [-1, -1, -1],
734 [-1, -1, -1],
735 [5, 5, 5],
736 [5, 5, 5],
737 [5, 5, 5],
738 [5, 5, 5],
739 [5, 5, 5],
740 [5, 5, 5],
741 ],
742 name="0035mojyqpmkca",
743 visible=True,
744 collidable=True,
745 tags=["0025yfyiswdvoh"],
746 ),
747 "0036rjrqlosxim": Sprite(
748 pixels=[
749 [5, 5],
750 [5, 5],
751 [5, 5],
752 [5, 5],
753 [5, 5],
754 [5, 5],
755 [5, 5],
756 [5, 5],
757 [5, 5],
758 [5, 5],
759 [-1, -1],
760 [-1, -1],
761 [-1, -1],
762 [-1, -1],
763 [-1, -1],
764 [-1, -1],
765 [-1, -1],
766 [-1, -1],
767 [5, 5],
768 [5, 5],
769 [5, 5],
770 [5, 5],
771 [5, 5],
772 [5, 5],
773 [5, 5],
774 [5, 5],
775 [5, 5],
776 [5, 5],
777 [5, 5],
778 [5, 5],
779 [5, 5],
780 [5, 5],
781 [5, 5],
782 [5, 5],
783 [5, 5],
784 [5, 5],
785 [5, 5],
786 [5, 5],
787 [5, 5],
788 [5, 5],
789 [5, 5],
790 [5, 5],
791 [5, 5],
792 [5, 5],
793 [5, 5],
794 [5, 5],
795 [5, 5],
796 [5, 5],
797 ],
798 name="0036rjrqlosxim",
799 visible=True,
800 collidable=True,
801 tags=["0025yfyiswdvoh"],
802 ),
803 "0037zhvthfywaf": Sprite(
804 pixels=[
805 [5, 5],
806 [5, 5],
807 [5, 5],
808 [5, 5],
809 [5, 5],
810 [5, 5],
811 [5, 5],
812 [5, 5],
813 [5, 5],
814 [5, 5],
815 [5, 5],
816 [5, 5],
817 [5, 5],
818 [5, 5],
819 [5, 5],
820 [5, 5],
821 [5, 5],
822 [5, 5],
823 [5, 5],
824 [5, 5],
825 [5, 5],
826 [5, 5],
827 ],
828 name="0037zhvthfywaf",
829 visible=True,
830 collidable=True,
831 tags=["0025yfyiswdvoh"],
832 ),
833 "0038kxomlaqnmm": Sprite(
834 pixels=[
835 [5, 5],
836 [5, 5],
837 [5, 5],
838 [5, 5],
839 [5, 5],
840 [5, 5],
841 [5, 5],
842 [5, 5],
843 [5, 5],
844 [5, 5],
845 [5, 5],
846 [5, 5],
847 [5, 5],
848 [5, 5],
849 [5, 5],
850 [5, 5],
851 [5, 5],
852 [5, 5],
853 [5, 5],
854 [5, 5],
855 ],
856 name="0038kxomlaqnmm",
857 visible=True,
858 collidable=True,
859 tags=["0025yfyiswdvoh"],
860 ),
861 "0039vrggqczkeg": Sprite(
862 pixels=[
863 [5, 5, 5],
864 [5, 5, 5],
865 [5, 5, 5],
866 [5, 5, 5],
867 [5, 5, 5],
868 [5, 5, 5],
869 [5, 5, 5],
870 [5, 5, 5],
871 [5, 5, 5],
872 [5, 5, 5],
873 [5, 5, 5],
874 [5, 5, 5],
875 [5, 5, 5],
876 [5, 5, 5],
877 [5, 5, 5],
878 [5, 5, 5],
879 [5, 5, 5],
880 [5, 5, 5],
881 [5, 5, 5],
882 [5, 5, 5],
883 [5, 5, 5],
884 [5, 5, 5],
885 [5, 5, 5],
886 [5, 5, 5],
887 [5, 5, 5],
888 [5, 5, 5],
889 [5, 5, 5],
890 [5, 5, 5],
891 [5, 5, 5],
892 [5, 5, 5],
893 [5, 5, 5],
894 [5, 5, 5],
895 [5, 5, 5],
896 [5, 5, 5],
897 [5, 5, 5],
898 [5, 5, 5],
899 [5, 5, 5],
900 [5, 5, 5],
901 [5, 5, 5],
902 ],
903 name="0039vrggqczkeg",
904 visible=True,
905 collidable=True,
906 tags=["0025yfyiswdvoh"],
907 ),
908 "0040sfsyhdwzpa": Sprite(
909 pixels=[
910 [5, 5],
911 [5, 5],
912 [5, 5],
913 [5, 5],
914 [5, 5],
915 [5, 5],
916 [5, 5],
917 [5, 5],
918 [5, 5],
919 [5, 5],
920 [-1, -1],
921 [-1, -1],
922 [-1, -1],
923 [-1, -1],
924 [-1, -1],
925 [-1, -1],
926 [-1, -1],
927 [-1, -1],
928 [5, 5],
929 [5, 5],
930 [5, 5],
931 [5, 5],
932 [5, 5],
933 [5, 5],
934 [5, 5],
935 [5, 5],
936 [5, 5],
937 [5, 5],
938 [5, 5],
939 [5, 5],
940 [5, 5],
941 [5, 5],
942 [-1, -1],
943 [-1, -1],
944 [-1, -1],
945 [-1, -1],
946 [-1, -1],
947 [-1, -1],
948 [-1, -1],
949 [-1, -1],
950 [5, 5],
951 [5, 5],
952 [5, 5],
953 [5, 5],
954 [5, 5],
955 [5, 5],
956 [5, 5],
957 [5, 5],
958 ],
959 name="0040sfsyhdwzpa",
960 visible=True,
961 collidable=True,
962 tags=["0025yfyiswdvoh"],
963 ),
964 "0041wufoxqricu": Sprite(
965 pixels=[
966 [5, 5, 5],
967 [5, 5, 5],
968 [5, 5, 5],
969 [5, 5, 5],
970 [5, 5, 5],
971 [5, 5, 5],
972 [5, 5, 5],
973 [5, 5, 5],
974 [5, 5, 5],
975 [5, 5, 5],
976 [5, 5, 5],
977 [5, 5, 5],
978 [5, 5, 5],
979 [5, 5, 5],
980 [5, 5, 5],
981 [5, 5, 5],
982 [5, 5, 5],
983 [5, 5, 5],
984 [5, 5, 5],
985 [5, 5, 5],
986 [5, 5, 5],
987 [5, 5, 5],
988 [5, 5, 5],
989 [5, 5, 5],
990 [5, 5, 5],
991 [5, 5, 5],
992 [5, 5, 5],
993 [5, 5, 5],
994 [5, 5, 5],
995 [5, 5, 5],
996 ],
997 name="0041wufoxqricu",
998 visible=True,
999 collidable=True,
1000 tags=["0025yfyiswdvoh"],
1001 ),
1002 "0042ueboolxadn": Sprite(
1003 pixels=[
1004 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1005 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1006 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1007 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1008 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1009 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1010 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1011 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1012 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1013 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1014 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1015 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1016 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1017 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1018 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1019 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1020 ],
1021 name="0042ueboolxadn",
1022 visible=True,
1023 collidable=True,
1024 tags=["0043nzrtobajqi"],
1025 ),
1026 "0044auurrayaab": Sprite(
1027 pixels=[
1028 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1029 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1030 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1031 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1032 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1033 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1034 ],
1035 name="0044auurrayaab",
1036 visible=True,
1037 collidable=True,
1038 tags=["0043nzrtobajqi"],
1039 ),
1040 "0045wzhlvcxnxi": Sprite(
1041 pixels=[
1042 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1043 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1044 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1045 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1046 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1047 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1048 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1049 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1050 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1051 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1052 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1053 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1054 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1055 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1056 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1057 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1058 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1059 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1060 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1061 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1062 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1063 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1064 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1065 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1066 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1067 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1068 ],
1069 name="0045wzhlvcxnxi",
1070 visible=True,
1071 collidable=True,
1072 tags=["0043nzrtobajqi"],
1073 ),
1074 "0046qitpxixzbw": Sprite(
1075 pixels=[
1076 [0, 0, 0, 0, 0, 0, 0, 0],
1077 [0, 0, 0, 0, 0, 0, 0, 0],
1078 [0, 0, 0, 0, 0, 0, 0, 0],
1079 [0, 0, 0, 0, 0, 0, 0, 0],
1080 [0, 0, 0, 0, 0, 0, 0, 0],
1081 [0, 0, 0, 0, 0, 0, 0, 0],
1082 ],
1083 name="0046qitpxixzbw",
1084 visible=True,
1085 collidable=True,
1086 tags=["0043nzrtobajqi"],
1087 ),
1088 "0047nozrwoeeue": Sprite(
1089 pixels=[
1090 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1091 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1092 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1093 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1094 ],
1095 name="0047nozrwoeeue",
1096 visible=True,
1097 collidable=True,
1098 tags=["0043nzrtobajqi"],
1099 ),
1100 "0048uprazwxldi": Sprite(
1101 pixels=[
1102 [0, 0, 0, 0, 0, 0, 0, 0],
1103 [0, 0, 0, 0, 0, 0, 0, 0],
1104 [0, 0, 0, 0, 0, 0, 0, 0],
1105 [0, 0, 0, 0, 0, 0, 0, 0],
1106 ],
1107 name="0048uprazwxldi",
1108 visible=True,
1109 collidable=True,
1110 tags=["0043nzrtobajqi"],
1111 ),
1112 "0049gizsqrldri": Sprite(
1113 pixels=[
1114 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1115 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1116 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1117 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1118 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1119 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1120 ],
1121 name="0049gizsqrldri",
1122 visible=True,
1123 collidable=True,
1124 tags=["0043nzrtobajqi"],
1125 ),
1126 "0050xlivmfsgrg": Sprite(
1127 pixels=[
1128 [0, 0, 0, 0, 0, 0, 0, 0],
1129 [0, 0, 0, 0, 0, 0, 0, 0],
1130 [0, 0, 0, 0, 0, 0, 0, 0],
1131 [0, 0, 0, 0, 0, 0, 0, 0],
1132 [0, 0, 0, 0, 0, 0, 0, 0],
1133 [0, 0, 0, 0, 0, 0, 0, 0],
1134 [0, 0, 0, 0, 0, 0, 0, 0],
1135 [0, 0, 0, 0, 0, 0, 0, 0],
1136 [0, 0, 0, 0, 0, 0, 0, 0],
1137 [0, 0, 0, 0, 0, 0, 0, 0],
1138 [0, 0, 0, 0, 0, 0, 0, 0],
1139 [0, 0, 0, 0, 0, 0, 0, 0],
1140 [0, 0, 0, 0, 0, 0, 0, 0],
1141 [0, 0, 0, 0, 0, 0, 0, 0],
1142 [0, 0, 0, 0, 0, 0, 0, 0],
1143 [0, 0, 0, 0, 0, 0, 0, 0],
1144 [0, 0, 0, 0, 0, 0, 0, 0],
1145 [0, 0, 0, 0, 0, 0, 0, 0],
1146 [0, 0, 0, 0, 0, 0, 0, 0],
1147 [0, 0, 0, 0, 0, 0, 0, 0],
1148 [0, 0, 0, 0, 0, 0, 0, 0],
1149 [0, 0, 0, 0, 0, 0, 0, 0],
1150 [0, 0, 0, 0, 0, 0, 0, 0],
1151 [0, 0, 0, 0, 0, 0, 0, 0],
1152 [0, 0, 0, 0, 0, 0, 0, 0],
1153 [0, 0, 0, 0, 0, 0, 0, 0],
1154 [0, 0, 0, 0, 0, 0, 0, 0],
1155 [0, 0, 0, 0, 0, 0, 0, 0],
1156 ],
1157 name="0050xlivmfsgrg",
1158 visible=True,
1159 collidable=True,
1160 tags=["0043nzrtobajqi"],
1161 ),
1162 "0051cbovinmogo": Sprite(
1163 pixels=[
1164 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1165 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1166 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1167 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1168 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1169 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1170 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1171 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1172 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1173 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1174 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1175 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1176 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1177 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1178 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1179 ],
1180 name="0051cbovinmogo",
1181 visible=True,
1182 collidable=True,
1183 tags=["0043nzrtobajqi"],
1184 ),
1185 "0052jlqpbhssxz": Sprite(
1186 pixels=[
1187 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1188 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1189 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1190 ],
1191 name="0052jlqpbhssxz",
1192 visible=True,
1193 collidable=True,
1194 tags=["0043nzrtobajqi"],
1195 ),
1196 "0053hvedzitgvm": Sprite(
1197 pixels=[
1198 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1199 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1200 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1201 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1202 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1203 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1204 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1205 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1206 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1207 ],
1208 name="0053hvedzitgvm",
1209 visible=True,
1210 collidable=True,
1211 tags=["0043nzrtobajqi"],
1212 ),
1213 "0054vgoahtzchm": Sprite(
1214 pixels=[
1215 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1216 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1217 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1218 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1219 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1220 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1221 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1222 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1223 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1224 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1225 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1226 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1227 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1228 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1229 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1230 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1231 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1232 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1233 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1234 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1235 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1236 ],
1237 name="0054vgoahtzchm",
1238 visible=True,
1239 collidable=True,
1240 tags=["0043nzrtobajqi"],
1241 ),
1242 "0055zkynfqcbvf": Sprite(
1243 pixels=[
1244 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1245 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1246 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1247 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1248 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1249 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1250 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1251 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1252 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1253 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1254 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1255 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1256 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1257 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1258 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1259 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1260 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1261 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1262 ],
1263 name="0055zkynfqcbvf",
1264 visible=True,
1265 collidable=True,
1266 tags=["0043nzrtobajqi"],
1267 ),
1268 "0056gvcomjuyya": Sprite(
1269 pixels=[
1270 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1271 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1272 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1273 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1274 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1275 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1276 ],
1277 name="0056gvcomjuyya",
1278 visible=True,
1279 collidable=True,
1280 tags=["0043nzrtobajqi"],
1281 ),
1282 "0057jqxvzzgzuz": Sprite(
1283 pixels=[
1284 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1285 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1286 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1287 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1288 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1289 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1290 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1291 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1292 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1293 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1294 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1295 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1296 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1297 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1298 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1299 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1300 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1301 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1302 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1303 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1304 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1305 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1306 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1307 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1308 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1309 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1310 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1311 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1312 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1313 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1314 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1315 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1316 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1317 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1318 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1319 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1320 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1321 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1322 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1323 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1324 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1325 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1326 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1327 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1328 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1329 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1330 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1331 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1332 ],
1333 name="0057jqxvzzgzuz",
1334 visible=True,
1335 collidable=True,
1336 tags=["0043nzrtobajqi"],
1337 ),
1338 "0058isdkrjwbjw": Sprite(
1339 pixels=[
1340 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1341 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1342 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1343 ],
1344 name="0058isdkrjwbjw",
1345 visible=True,
1346 collidable=True,
1347 tags=["0043nzrtobajqi"],
1348 ),
1349 "0059nzfxpksuts": Sprite(
1350 pixels=[
1351 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1352 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1353 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1354 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1355 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1356 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1357 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1358 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1359 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1360 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1361 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1362 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1363 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1364 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1365 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1366 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1367 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1368 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1369 ],
1370 name="0059nzfxpksuts",
1371 visible=True,
1372 collidable=True,
1373 tags=["0043nzrtobajqi"],
1374 ),
1375 "0060vzyhngpdxk": Sprite(
1376 pixels=[
1377 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1378 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1379 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1380 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1381 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1382 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1383 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1384 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1385 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1386 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1387 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1388 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1389 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1390 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1391 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1392 ],
1393 name="0060vzyhngpdxk",
1394 visible=True,
1395 collidable=True,
1396 tags=["0043nzrtobajqi"],
1397 ),
1398 "0061hvrsaskhtv": Sprite(
1399 pixels=[
1400 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1401 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1402 ],
1403 name="0061hvrsaskhtv",
1404 visible=True,
1405 collidable=True,
1406 tags=["0043nzrtobajqi"],
1407 ),
1408 "0062jjoqcrrlqt": Sprite(
1409 pixels=[
1410 [0, 0, 0, 0, 0, 0, 0, 0],
1411 [0, 0, 0, 0, 0, 0, 0, 0],
1412 [0, 0, 0, 0, 0, 0, 0, 0],
1413 [0, 0, 0, 0, 0, 0, 0, 0],
1414 ],
1415 name="0062jjoqcrrlqt",
1416 visible=True,
1417 collidable=True,
1418 tags=["0043nzrtobajqi"],
1419 ),
1420 "0063vjsvlzmsou": Sprite(
1421 pixels=[
1422 [0, 0, 0, 0, 0, 0, 0, 0, 0],
1423 [0, 0, 0, 0, 0, 0, 0, 0, 0],
1424 [0, 0, 0, 0, 0, 0, 0, 0, 0],
1425 [0, 0, 0, 0, 0, 0, 0, 0, 0],
1426 [0, 0, 0, 0, 0, 0, 0, 0, 0],
1427 [0, 0, 0, 0, 0, 0, 0, 0, 0],
1428 ],
1429 name="0063vjsvlzmsou",
1430 visible=True,
1431 collidable=True,
1432 tags=["0043nzrtobajqi"],
1433 ),
1434 "0064keizattioe": Sprite(
1435 pixels=[
1436 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1437 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1438 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1439 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1440 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1441 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1442 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1443 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1444 ],
1445 name="0064keizattioe",
1446 visible=True,
1447 collidable=True,
1448 tags=["0043nzrtobajqi"],
1449 ),
1450 "0065dnabthoeah": Sprite(
1451 pixels=[
1452 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1453 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1454 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1455 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1456 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1457 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1458 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1459 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1460 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1461 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1462 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1463 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1464 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1465 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1466 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1467 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1468 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1469 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1470 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1471 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1472 ],
1473 name="0065dnabthoeah",
1474 visible=True,
1475 collidable=True,
1476 tags=["0043nzrtobajqi"],
1477 ),
1478 "0066vaxquypzdt": Sprite(
1479 pixels=[
1480 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1481 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1482 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1483 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1484 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1485 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1486 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1487 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1488 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1489 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1490 ],
1491 name="0066vaxquypzdt",
1492 visible=True,
1493 collidable=True,
1494 tags=["0043nzrtobajqi"],
1495 ),
1496 "0067nuweesmgmg": Sprite(
1497 pixels=[
1498 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1499 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1500 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1501 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1502 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1503 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1504 ],
1505 name="0067nuweesmgmg",
1506 visible=True,
1507 collidable=True,
1508 tags=["0043nzrtobajqi"],
1509 ),
1510 "0068ggudhgdmjj": Sprite(
1511 pixels=[
1512 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1513 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1514 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1515 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1516 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1517 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1518 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1519 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1520 ],
1521 name="0068ggudhgdmjj",
1522 visible=True,
1523 collidable=True,
1524 tags=["0043nzrtobajqi"],
1525 ),
1526 "0069aqtrahmrun": Sprite(
1527 pixels=[
1528 [0, 0, 0, 0, 0, 0, 0],
1529 [0, 0, 0, 0, 0, 0, 0],
1530 [0, 0, 0, 0, 0, 0, 0],
1531 [0, 0, 0, 0, 0, 0, 0],
1532 [0, 0, 0, 0, 0, 0, 0],
1533 [0, 0, 0, 0, 0, 0, 0],
1534 [0, 0, 0, 0, 0, 0, 0],
1535 [0, 0, 0, 0, 0, 0, 0],
1536 [0, 0, 0, 0, 0, 0, 0],
1537 [0, 0, 0, 0, 0, 0, 0],
1538 [0, 0, 0, 0, 0, 0, 0],
1539 [0, 0, 0, 0, 0, 0, 0],
1540 [0, 0, 0, 0, 0, 0, 0],
1541 [0, 0, 0, 0, 0, 0, 0],
1542 [0, 0, 0, 0, 0, 0, 0],
1543 [0, 0, 0, 0, 0, 0, 0],
1544 [0, 0, 0, 0, 0, 0, 0],
1545 [0, 0, 0, 0, 0, 0, 0],
1546 ],
1547 name="0069aqtrahmrun",
1548 visible=True,
1549 collidable=True,
1550 tags=["0043nzrtobajqi"],
1551 ),
1552}
1553levels = [
1554 # Level 1
1555 Level(
1556 sprites=[
1557 sprites["0009vwghyhtilb"].clone().set_position(17, 14).set_rotation(270),
1558 sprites["0015cltmlkogkc"].clone().set_position(23, 22).set_rotation(270),
1559 sprites["0021ayhektiwsl"].clone().set_position(30, 12).set_rotation(270),
1560 sprites["0021ayhektiwsl"].clone().set_position(30, 16).set_rotation(270),
1561 sprites["0024oklzljpbjf"].clone().set_position(10, 14).set_rotation(270),
1562 sprites["0042ueboolxadn"].clone().set_position(16, 0).set_rotation(270),
1563 sprites["0044auurrayaab"].clone().set_position(26, 16).set_rotation(270),
1564 ],
1565 grid_size=(32, 32),
1566 data={
1567 "StepCounter": 50,
1568 "Gravity": [2, 0],
1569 },
1570 ),
1571 # Level 2
1572 Level(
1573 sprites=[
1574 sprites["0011egrqhpaniv"].clone().set_position(14, 20).set_rotation(90),
1575 sprites["0017pmjcrnwxxj"].clone().set_position(4, 26).set_rotation(90),
1576 sprites["0021ayhektiwsl"].clone().set_position(0, 8).set_rotation(90),
1577 sprites["0021ayhektiwsl"].clone().set_position(0, 12).set_rotation(90),
1578 sprites["0021ayhektiwsl"].clone().set_position(0, 18).set_rotation(90),
1579 sprites["0021ayhektiwsl"].clone().set_position(0, 22).set_rotation(90),
1580 sprites["0026mrilttcabm"].clone().set_position(0, 10).set_rotation(90),
1581 sprites["0027sdwqirupzd"].clone().set_position(0, 20).set_rotation(90),
1582 sprites["0045wzhlvcxnxi"].clone().set_rotation(90),
1583 sprites["0046qitpxixzbw"].clone().set_position(0, 12).set_rotation(90),
1584 sprites["0047nozrwoeeue"].clone().set_position(0, 22).set_rotation(90),
1585 ],
1586 grid_size=(32, 32),
1587 data={
1588 "StepCounter": 50,
1589 "Gravity": [-2, 0],
1590 },
1591 ),
1592 # Level 3
1593 Level(
1594 sprites=[
1595 sprites["0009vwghyhtilb"].clone().set_position(42, 39),
1596 sprites["0011egrqhpaniv"].clone().set_position(8, 33),
1597 sprites["0012efovcqtrsv"].clone().set_position(30, 31),
1598 sprites["0015cltmlkogkc"].clone().set_position(46, 21),
1599 sprites["0017pmjcrnwxxj"].clone().set_position(2, 45),
1600 sprites["0018rxmsqpnhhx"].clone().set_position(35, 43),
1601 sprites["0021ayhektiwsl"].clone().set_position(6, 50),
1602 sprites["0021ayhektiwsl"].clone().set_position(10, 50),
1603 sprites["0021ayhektiwsl"].clone().set_position(22, 50),
1604 sprites["0021ayhektiwsl"].clone().set_position(18, 50),
1605 sprites["0021ayhektiwsl"].clone().set_position(32, 50),
1606 sprites["0021ayhektiwsl"].clone().set_position(28, 50),
1607 sprites["0021ayhektiwsl"].clone().set_position(44, 50),
1608 sprites["0021ayhektiwsl"].clone().set_position(40, 50),
1609 sprites["0028yrxfnwssrz"].clone().set_position(20, 46),
1610 sprites["0029hisqstrfef"].clone().set_position(42, 24),
1611 sprites["0037zhvthfywaf"].clone().set_position(30, 30),
1612 sprites["0038kxomlaqnmm"].clone().set_position(8, 32),
1613 sprites["0048uprazwxldi"].clone().set_position(22, 48),
1614 sprites["0049gizsqrldri"].clone().set_position(32, 46),
1615 sprites["0050xlivmfsgrg"].clone().set_position(44, 24),
1616 sprites["0061hvrsaskhtv"].clone().set_position(10, 50),
1617 sprites["0062jjoqcrrlqt"].clone().set_position(0, 48),
1618 ],
1619 grid_size=(52, 52),
1620 data={
1621 "StepCounter": 75,
1622 "Gravity": [0, 2],
1623 },
1624 ),
1625 # Level 4
1626 Level(
1627 sprites=[
1628 sprites["0003qvhiakludh"].clone().set_position(27, 34),
1629 sprites["0003qvhiakludh"].clone().set_position(12, 43),
1630 sprites["0013nlpqaanefy"].clone().set_position(42, 25),
1631 sprites["0019yzthbwsumy"].clone().set_position(3, 43),
1632 sprites["0023zpxhabfwya"].clone().set_position(15, 61),
1633 sprites["0023zpxhabfwya"].clone().set_position(57, 61),
1634 sprites["0023zpxhabfwya"].clone().set_position(9, 61),
1635 sprites["0023zpxhabfwya"].clone().set_position(51, 61),
1636 sprites["0023zpxhabfwya"].clone().set_position(45, 61),
1637 sprites["0023zpxhabfwya"].clone().set_position(39, 61),
1638 sprites["0030tpzxnyfdvh"].clone().set_position(12, 31),
1639 sprites["0031pjczzavayi"].clone().set_position(27, 22),
1640 sprites["0039vrggqczkeg"].clone().set_position(42, 25),
1641 sprites["0041wufoxqricu"].clone().set_position(54, 34),
1642 sprites["0051cbovinmogo"].clone().set_position(0, 49),
1643 sprites["0052jlqpbhssxz"].clone().set_position(15, 61),
1644 sprites["0053hvedzitgvm"].clone().set_position(30, 55),
1645 sprites["0063vjsvlzmsou"].clone().set_position(45, 58),
1646 sprites["0069aqtrahmrun"].clone().set_position(57, 46),
1647 ],
1648 grid_size=(64, 64),
1649 data={
1650 "StepCounter": 50,
1651 "Gravity": [0, 3],
1652 },
1653 ),
1654 # Level 5
1655 Level(
1656 sprites=[
1657 sprites["0003qvhiakludh"].clone().set_position(28, 14).set_rotation(270),
1658 sprites["0003qvhiakludh"].clone().set_position(25, 49).set_rotation(270),
1659 sprites["0003qvhiakludh"].clone().set_position(40, 32).set_rotation(270),
1660 sprites["0013nlpqaanefy"].clone().set_position(16, 14).set_rotation(270),
1661 sprites["0014fnratutanf"].clone().set_position(10, 49).set_rotation(270),
1662 sprites["0019yzthbwsumy"].clone().set_position(37, 55).set_rotation(270),
1663 sprites["0020supxvsgicv"].clone().set_position(10, 5).set_rotation(270),
1664 sprites["0023zpxhabfwya"].clone().set_position(61, 29).set_rotation(270),
1665 sprites["0023zpxhabfwya"].clone().set_position(61, 35).set_rotation(270),
1666 sprites["0023zpxhabfwya"].clone().set_position(61, 17).set_rotation(270),
1667 sprites["0023zpxhabfwya"].clone().set_position(61, 46).set_rotation(270),
1668 sprites["0023zpxhabfwya"].clone().set_position(61, 11).set_rotation(270),
1669 sprites["0023zpxhabfwya"].clone().set_position(61, 52).set_rotation(270),
1670 sprites["0032xvysrppdmd"].clone().set_position(10, 49).set_rotation(270),
1671 sprites["0033jkunkpsthb"].clone().set_position(25, 32).set_rotation(270),
1672 sprites["0034gljhkoittz"].clone().set_position(16, 14).set_rotation(270),
1673 sprites["0054vgoahtzchm"].clone().set_position(43, 52).set_rotation(270),
1674 sprites["0055zkynfqcbvf"].clone().set_position(46, 35).set_rotation(270),
1675 sprites["0056gvcomjuyya"].clone().set_position(58, 17).set_rotation(270),
1676 sprites["0057jqxvzzgzuz"].clone().set_position(16, 0).set_rotation(270),
1677 ],
1678 grid_size=(64, 64),
1679 data={
1680 "StepCounter": 200,
1681 "Gravity": [3, 0],
1682 },
1683 ),
1684 # Level 6
1685 Level(
1686 sprites=[
1687 sprites["0000ufilpvvllo"].clone().set_position(21, 0).set_rotation(90),
1688 sprites["0003qvhiakludh"].clone().set_position(30, 30).set_rotation(90),
1689 sprites["0003qvhiakludh"].clone().set_position(6, 30).set_rotation(90),
1690 sprites["0013nlpqaanefy"].clone().set_position(48, 30).set_rotation(90),
1691 sprites["0019yzthbwsumy"].clone().set_position(3, 12).set_rotation(90),
1692 sprites["0023zpxhabfwya"].clone().set_position(0, 27).set_rotation(90),
1693 sprites["0023zpxhabfwya"].clone().set_position(0, 33).set_rotation(90),
1694 sprites["0023zpxhabfwya"].clone().set_position(24, 33).set_rotation(90),
1695 sprites["0023zpxhabfwya"].clone().set_position(24, 27).set_rotation(90),
1696 sprites["0035mojyqpmkca"].clone().set_position(0, 30).set_rotation(90),
1697 sprites["0058isdkrjwbjw"].clone().set_rotation(90),
1698 sprites["0059nzfxpksuts"].clone().set_position(0, 33).set_rotation(90),
1699 sprites["0060vzyhngpdxk"].clone().set_position(24, 0).set_rotation(90),
1700 ],
1701 grid_size=(64, 64),
1702 data={
1703 "StepCounter": 50,
1704 "Gravity": [-3, 0],
1705 },
1706 ),
1707 # Level 7
1708 Level(
1709 sprites=[
1710 sprites["0002eemauzpzws"].clone().set_position(0, 22).set_rotation(180),
1711 sprites["0002eemauzpzws"].clone().set_position(34, 22).set_rotation(180),
1712 sprites["0005nxriaixjyr"].clone().set_position(14, 30).set_rotation(180),
1713 sprites["0005nxriaixjyr"].clone().set_position(32, 8).set_rotation(180),
1714 sprites["0005nxriaixjyr"].clone().set_position(32, 30).set_rotation(180),
1715 sprites["0009vwghyhtilb"].clone().set_position(32, 18).set_rotation(180),
1716 sprites["0011egrqhpaniv"].clone().set_position(14, 10).set_rotation(180),
1717 sprites["0012efovcqtrsv"].clone().set_position(14, 42).set_rotation(180),
1718 sprites["0015cltmlkogkc"].clone().set_position(6, 32).set_rotation(180),
1719 sprites["0017pmjcrnwxxj"].clone().set_position(40, 34).set_rotation(180),
1720 sprites["0018rxmsqpnhhx"].clone().set_position(40, 6).set_rotation(180),
1721 sprites["0021ayhektiwsl"].clone().set_position(16, 0).set_rotation(180),
1722 sprites["0021ayhektiwsl"].clone().set_position(12, 0).set_rotation(180),
1723 sprites["0021ayhektiwsl"].clone().set_position(16, 24).set_rotation(180),
1724 sprites["0021ayhektiwsl"].clone().set_position(12, 24).set_rotation(180),
1725 sprites["0021ayhektiwsl"].clone().set_position(34, 24).set_rotation(180),
1726 sprites["0021ayhektiwsl"].clone().set_position(30, 24).set_rotation(180),
1727 sprites["0021ayhektiwsl"].clone().set_position(34, 0).set_rotation(180),
1728 sprites["0021ayhektiwsl"].clone().set_position(30, 0).set_rotation(180),
1729 sprites["0036rjrqlosxim"].clone().set_position(14, 0).set_rotation(180),
1730 sprites["0040sfsyhdwzpa"].clone().set_position(32, 0).set_rotation(180),
1731 sprites["0064keizattioe"].clone().set_position(0, 24).set_rotation(180),
1732 sprites["0065dnabthoeah"].clone().set_rotation(180),
1733 sprites["0066vaxquypzdt"].clone().set_position(34, 24).set_rotation(180),
1734 sprites["0067nuweesmgmg"].clone().set_position(34, 0).set_rotation(180),
1735 sprites["0068ggudhgdmjj"].clone().set_position(16, 0).set_rotation(180),
1736 ],
1737 grid_size=(48, 48),
1738 data={
1739 "StepCounter": 200,
1740 "Gravity": [0, -2],
1741 },
1742 ),
1743]
1744BACKGROUND_COLOR = 3
1745PADDING_COLOR = 4
1746xbdwxvogip = 7
1747fqzhkhmfxt = 12
1748flmcufqvdo = 1
1749qgrljjqvyn = 0
1750
1751
1752class kzobdxxpyg:
1753 hxvxoxlwtk: Sprite
1754 xgwliflosy: tuple[int, int]
1755
1756 def __init__(self, sprite: Sprite, mtdlwrbmzk: tuple[int, int]) -> None:
1757 self.hxvxoxlwtk = sprite
1758 self.xgwliflosy = mtdlwrbmzk
1759
1760 def xryezihexa(self) -> bool:
1761 vmfjnujmbm = (self.hxvxoxlwtk.x, self.hxvxoxlwtk.y)
1762 mtdlwrbmzk = self.xgwliflosy
1763 dx = mtdlwrbmzk[0] - vmfjnujmbm[0]
1764 dy = mtdlwrbmzk[1] - vmfjnujmbm[1]
1765 if dx == 0 and dy == 0:
1766 return True
1767 if abs(dx) >= abs(dy):
1768 qqqlopeipe = (vmfjnujmbm[0] + np.sign(dx), vmfjnujmbm[1])
1769 else:
1770 qqqlopeipe = (vmfjnujmbm[0], vmfjnujmbm[1] + np.sign(dy))
1771 self.hxvxoxlwtk.set_position(qqqlopeipe[0], qqqlopeipe[1])
1772 return False
1773
1774
1775class wqemqapjce:
1776 emftrvixwu: list[kzobdxxpyg]
1777 chacnmhmit: int
1778
1779 def __init__(self, maejydvpzz: list[kzobdxxpyg]) -> None:
1780 self.emftrvixwu = maejydvpzz
1781 self.chacnmhmit = 0
1782
1783 def xryezihexa(self) -> bool:
1784 mxefvazonp = self.emftrvixwu[self.chacnmhmit]
1785 if mxefvazonp.xryezihexa():
1786 self.chacnmhmit += 1
1787 if self.chacnmhmit == len(self.emftrvixwu):
1788 return True
1789 return False
1790
1791
1792class xclqwacrmx(RenderableUserDisplay):
1793 """."""
1794
1795 def __init__(self, dmesyeowwd: int):
1796 """."""
1797 self.dmesyeowwd = dmesyeowwd
1798 self.current_steps = dmesyeowwd
1799
1800 def kzdrzwegyq(self, jwqkgpseim: int) -> None:
1801 """."""
1802 self.current_steps = max(0, min(jwqkgpseim, self.dmesyeowwd))
1803
1804 def tuvumryrbp(self) -> bool:
1805 """."""
1806 if self.current_steps > 0:
1807 self.current_steps -= 1
1808 return self.current_steps > 0
1809
1810 def mflhbpdcce(self) -> None:
1811 """."""
1812 self.current_steps = self.dmesyeowwd
1813
1814 def render_interface(self, frame: np.ndarray) -> np.ndarray:
1815 """."""
1816 if self.dmesyeowwd == 0:
1817 return frame
1818 xmiochpvpa = self.current_steps / self.dmesyeowwd
1819 odvxyoizxg = round(64 * xmiochpvpa)
1820 cjicgmvvti = xbdwxvogip
1821 for x in range(64):
1822 if x < odvxyoizxg:
1823 frame[0, x] = cjicgmvvti
1824 else:
1825 frame[0, x] = 4
1826 return frame
1827
1828
1829class Vc33(ARCBaseGame):
1830 heczcoeosi: xclqwacrmx
1831 dwwmpxqsza: tuple[int, int]
1832 wrcxjliglr: dict[Sprite, tuple[Sprite, Sprite]]
1833 bnnqyrupir: wqemqapjce | None
1834
1835 def __init__(self) -> None:
1836 self.heczcoeosi = xclqwacrmx(0)
1837 xlpbmgyvhdc = Camera(
1838 background=BACKGROUND_COLOR,
1839 letter_box=PADDING_COLOR,
1840 interfaces=[self.heczcoeosi],
1841 )
1842 super().__init__(game_id="vc33", levels=levels, camera=xlpbmgyvhdc, available_actions=[6])
1843
1844 def ztjckgmepu(self) -> None:
1845 """."""
1846 rwejtsvefe = self.current_level.get_data("StepCounter")
1847 self.heczcoeosi.dmesyeowwd = rwejtsvefe
1848 self.heczcoeosi.mflhbpdcce()
1849
1850 def cicmkyghjc(self, name: str) -> Sprite:
1851 return self.current_level.get_sprites_by_name(name)[0]
1852
1853 def qhmwbtpcsk(self) -> bool:
1854 return self.dwwmpxqsza[0] > 0 or self.dwwmpxqsza[1] > 0
1855
1856 def mzqwlqlkrv(self, sprite: Sprite) -> int:
1857 if self.dwwmpxqsza[0]:
1858 return sprite.y
1859 return sprite.x
1860
1861 def xitrlzpbgu(self, sprite: Sprite) -> int:
1862 if self.dwwmpxqsza[0]:
1863 return sprite.x
1864 return sprite.y
1865
1866 def vmjlfzxesj(self, sprite: Sprite) -> int:
1867 if self.dwwmpxqsza[0]:
1868 return sprite.height
1869 return sprite.width
1870
1871 def pjfzvvjgud(self, sprite: Sprite) -> int:
1872 if self.dwwmpxqsza[0]:
1873 return sprite.width
1874 return sprite.height
1875
1876 def zfcrfmorna(self, sprite: Sprite) -> int:
1877 if self.qhmwbtpcsk():
1878 return self.xitrlzpbgu(sprite) + self.pjfzvvjgud(sprite)
1879 else:
1880 return self.xitrlzpbgu(sprite)
1881
1882 def hpakcxndwy(self, sprite: Sprite) -> int:
1883 if self.qhmwbtpcsk():
1884 return self.xitrlzpbgu(sprite)
1885 else:
1886 return self.xitrlzpbgu(sprite) + self.pjfzvvjgud(sprite)
1887
1888 def ldbtzvbmoj(self, eqbmrymiwc: Sprite, abwvwckyso: Sprite) -> bool:
1889 if self.qhmwbtpcsk():
1890 return self.zfcrfmorna(eqbmrymiwc) >= self.hpakcxndwy(abwvwckyso)
1891 else:
1892 return self.zfcrfmorna(eqbmrymiwc) <= self.hpakcxndwy(abwvwckyso)
1893
1894 def on_set_level(self, level: Level) -> None:
1895 """."""
1896 self.ztjckgmepu()
1897 self.bnnqyrupir = None
1898 self.dwwmpxqsza = self.current_level.get_data("Gravity")
1899 self.wrcxjliglr = dict()
1900 wpgwyzgomg = self.current_level.get_sprites_by_tag("0022jvmlspyigc")
1901 amifeafxwr = self.current_level.get_sprites_by_tag("0043nzrtobajqi")
1902 for abwvwckyso in wpgwyzgomg:
1903 dfghvrvmmj = [eqbmrymiwc for eqbmrymiwc in amifeafxwr if self.mzqwlqlkrv(eqbmrymiwc) == self.mzqwlqlkrv(abwvwckyso) and self.ldbtzvbmoj(eqbmrymiwc, abwvwckyso)]
1904 if dfghvrvmmj:
1905 sxrzgujgtx = [eqbmrymiwc for eqbmrymiwc in amifeafxwr if self.mzqwlqlkrv(eqbmrymiwc) + self.vmjlfzxesj(eqbmrymiwc) == self.mzqwlqlkrv(abwvwckyso) - self.vmjlfzxesj(abwvwckyso) and self.ldbtzvbmoj(eqbmrymiwc, abwvwckyso)]
1906 if self.qhmwbtpcsk():
1907 pzeognzxtp = min(sxrzgujgtx, key=lambda glarpukzki: self.xitrlzpbgu(glarpukzki))
1908 qrsthafmxa = min(dfghvrvmmj, key=lambda glarpukzki: self.xitrlzpbgu(glarpukzki))
1909 else:
1910 pzeognzxtp = max(sxrzgujgtx, key=lambda glarpukzki: self.xitrlzpbgu(glarpukzki))
1911 qrsthafmxa = max(dfghvrvmmj, key=lambda glarpukzki: self.xitrlzpbgu(glarpukzki))
1912 self.wrcxjliglr[abwvwckyso] = (pzeognzxtp, qrsthafmxa)
1913 else:
1914 sxrzgujgtx = [eqbmrymiwc for eqbmrymiwc in amifeafxwr if self.mzqwlqlkrv(eqbmrymiwc) < self.mzqwlqlkrv(abwvwckyso) and self.mzqwlqlkrv(eqbmrymiwc) + self.vmjlfzxesj(eqbmrymiwc) > self.mzqwlqlkrv(abwvwckyso) and self.ldbtzvbmoj(eqbmrymiwc, abwvwckyso)]
1915 if sxrzgujgtx:
1916 dfghvrvmmj = [eqbmrymiwc for eqbmrymiwc in amifeafxwr if self.mzqwlqlkrv(eqbmrymiwc) == self.mzqwlqlkrv(abwvwckyso) + self.vmjlfzxesj(abwvwckyso) * 2 and self.ldbtzvbmoj(eqbmrymiwc, abwvwckyso)]
1917 if self.qhmwbtpcsk():
1918 pzeognzxtp = min(
1919 sxrzgujgtx,
1920 key=lambda glarpukzki: self.xitrlzpbgu(glarpukzki),
1921 )
1922 qrsthafmxa = min(
1923 dfghvrvmmj,
1924 key=lambda glarpukzki: self.xitrlzpbgu(glarpukzki),
1925 )
1926 else:
1927 pzeognzxtp = max(
1928 sxrzgujgtx,
1929 key=lambda glarpukzki: self.xitrlzpbgu(glarpukzki),
1930 )
1931 qrsthafmxa = max(
1932 dfghvrvmmj,
1933 key=lambda glarpukzki: self.xitrlzpbgu(glarpukzki),
1934 )
1935 self.wrcxjliglr[abwvwckyso] = (qrsthafmxa, pzeognzxtp)
1936
1937 def ielczunthe(self) -> bool:
1938 """."""
1939 wdfdpqxtkf = self.current_level.get_sprites_by_tag("0016uciqlhjlom")
1940 vtcmlsebpq = self.current_level.get_sprites_by_tag("0010gnulkywfpz")
1941 amifeafxwr = self.current_level.get_sprites_by_tag("0043nzrtobajqi")
1942 bqppzuakxi = self.current_level.get_sprites_by_tag("0025yfyiswdvoh")
1943 for vfddimntfs in wdfdpqxtkf:
1944 zoovwgfyzl = vfddimntfs.pixels[-1, -1]
1945 zvmujaknkt = [eqbmrymiwc for eqbmrymiwc in amifeafxwr if self.bcpuwqzpxw(vfddimntfs, eqbmrymiwc)]
1946 kxlcdazxzs = self.rcbyiqlbza(zvmujaknkt[0])
1947 nyaroikuxn = True
1948 for hxlxvkeipz in vtcmlsebpq:
1949 bggewwdych = [wall for wall in bqppzuakxi if wall.collides_with(hxlxvkeipz)][0]
1950 if zoovwgfyzl in hxlxvkeipz.pixels and self.xitrlzpbgu(vfddimntfs) == self.xitrlzpbgu(hxlxvkeipz) and (bggewwdych in kxlcdazxzs):
1951 nyaroikuxn = False
1952 break
1953 if nyaroikuxn:
1954 return False
1955 return True
1956
1957 def ezbubuphlm(self, xklhcncusa: Sprite) -> bool:
1958 amifeafxwr = self.current_level.get_sprites_by_tag("0043nzrtobajqi")
1959 lqequazmqm = [eqbmrymiwc for eqbmrymiwc in amifeafxwr if self.hpakcxndwy(eqbmrymiwc) == self.zfcrfmorna(xklhcncusa)]
1960 vqoweqholk = [eqbmrymiwc for eqbmrymiwc in lqequazmqm if self.mzqwlqlkrv(eqbmrymiwc) + self.vmjlfzxesj(eqbmrymiwc) == self.mzqwlqlkrv(xklhcncusa)]
1961 eltgoujmhx = [eqbmrymiwc for eqbmrymiwc in lqequazmqm if self.mzqwlqlkrv(eqbmrymiwc) == self.mzqwlqlkrv(xklhcncusa) + self.vmjlfzxesj(xklhcncusa)]
1962 if vqoweqholk and eltgoujmhx:
1963 return True
1964 return False
1965
1966 def vktvbwfvhu(self, xklhcncusa: Sprite) -> None:
1967 if self.ezbubuphlm(xklhcncusa):
1968 xklhcncusa.color_remap(None, fqzhkhmfxt)
1969 if xklhcncusa.pixels.shape[1] == 3:
1970 pcbttqnhxk = sprites["0006mfbmvylbss"].clone()
1971 else:
1972 pcbttqnhxk = sprites["0008rybtprnbie"].clone()
1973 pcbttqnhxk.set_rotation(xklhcncusa.rotation)
1974 if xklhcncusa.rotation == 0:
1975 pcbttqnhxk.set_position(xklhcncusa.x - 2, xklhcncusa.y)
1976 elif xklhcncusa.rotation == 180:
1977 pcbttqnhxk.set_position(xklhcncusa.x - 2, xklhcncusa.y)
1978 if xklhcncusa.rotation == 90:
1979 pcbttqnhxk.set_position(xklhcncusa.x, xklhcncusa.y - 2)
1980 elif xklhcncusa.rotation == 270:
1981 pcbttqnhxk.set_position(xklhcncusa.x, xklhcncusa.y - 2)
1982 self.current_level.add_sprite(pcbttqnhxk)
1983 else:
1984 xklhcncusa.color_remap(None, flmcufqvdo)
1985
1986 def wpcgsoumbr(self) -> None:
1987 cagzzrtjlm = self.current_level.get_sprites_by_tag("0007gyluczquhi")
1988 for pcbttqnhxk in cagzzrtjlm:
1989 self.current_level.remove_sprite(pcbttqnhxk)
1990 pqklvzcuxd = self.current_level.get_sprites_by_tag("0004sttgkofqwb")
1991 for xklhcncusa in pqklvzcuxd:
1992 self.vktvbwfvhu(xklhcncusa)
1993
1994 def rcbyiqlbza(self, eqbmrymiwc: Sprite) -> list[Sprite]:
1995 bqppzuakxi = self.current_level.get_sprites_by_tag("0025yfyiswdvoh")
1996 kxlcdazxzs = [wall for wall in bqppzuakxi if self.mzqwlqlkrv(wall) + self.vmjlfzxesj(wall) == self.mzqwlqlkrv(eqbmrymiwc) or self.mzqwlqlkrv(wall) == self.mzqwlqlkrv(eqbmrymiwc) + self.vmjlfzxesj(eqbmrymiwc)]
1997 return kxlcdazxzs
1998
1999 def kectayqmfn(self, eqbmrymiwc: Sprite) -> list[Sprite]:
2000 wsqwqkejcw = self.current_level.get_sprites_by_tag("0001symqacyexa")
2001 if self.qhmwbtpcsk():
2002 mkmqnniulx = [floor for floor in wsqwqkejcw if self.mzqwlqlkrv(floor) == self.mzqwlqlkrv(eqbmrymiwc) and self.zfcrfmorna(floor) < self.zfcrfmorna(eqbmrymiwc)]
2003 else:
2004 mkmqnniulx = [floor for floor in wsqwqkejcw if self.mzqwlqlkrv(floor) == self.mzqwlqlkrv(eqbmrymiwc) and self.zfcrfmorna(floor) > self.zfcrfmorna(eqbmrymiwc)]
2005 return mkmqnniulx
2006
2007 def bcpuwqzpxw(self, vfddimntfs: Sprite, eqbmrymiwc: Sprite) -> bool:
2008 return self.mzqwlqlkrv(vfddimntfs) >= self.mzqwlqlkrv(eqbmrymiwc) and self.mzqwlqlkrv(vfddimntfs) < self.mzqwlqlkrv(eqbmrymiwc) + self.vmjlfzxesj(eqbmrymiwc) and (self.zfcrfmorna(vfddimntfs) == self.hpakcxndwy(eqbmrymiwc))
2009
2010 def usqfmpzewf(self, eqbmrymiwc: Sprite) -> list[Sprite]:
2011 wdfdpqxtkf = self.current_level.get_sprites_by_tag("0016uciqlhjlom")
2012 return [vfddimntfs for vfddimntfs in wdfdpqxtkf if self.bcpuwqzpxw(vfddimntfs, eqbmrymiwc)]
2013
2014 def ysoqxdegud(self, eqbmrymiwc: Sprite) -> int:
2015 ehuyojkjcq = self.kectayqmfn(eqbmrymiwc)
2016 if ehuyojkjcq:
2017 if self.usqfmpzewf(eqbmrymiwc):
2018 if self.dwwmpxqsza[0] == -3:
2019 return max([self.zfcrfmorna(sprite) - 6 for sprite in ehuyojkjcq])
2020 else:
2021 return max([self.zfcrfmorna(sprite) - 4 for sprite in ehuyojkjcq])
2022 else:
2023 return max([self.zfcrfmorna(sprite) for sprite in ehuyojkjcq])
2024 katgaxrnxd = self.rcbyiqlbza(eqbmrymiwc)
2025 if self.qhmwbtpcsk():
2026 return max([self.hpakcxndwy(sprite) for sprite in katgaxrnxd])
2027 else:
2028 return min([self.hpakcxndwy(sprite) for sprite in katgaxrnxd])
2029
2030 def xowbpvmzbd(self, yvppaekogs: Sprite, dvfrzxabyk: Sprite) -> None:
2031 if self.pjfzvvjgud(yvppaekogs) > 0 and (self.qhmwbtpcsk() and self.xitrlzpbgu(dvfrzxabyk) > self.ysoqxdegud(dvfrzxabyk) or (not self.qhmwbtpcsk() and self.hpakcxndwy(dvfrzxabyk) < self.ysoqxdegud(dvfrzxabyk))):
2032 volqrbaomzl, duyfsmiznvg = self.dwwmpxqsza
2033 for vfddimntfs in self.usqfmpzewf(yvppaekogs):
2034 vfddimntfs.move(volqrbaomzl, duyfsmiznvg)
2035 for vfddimntfs in self.usqfmpzewf(dvfrzxabyk):
2036 vfddimntfs.move(-volqrbaomzl, -duyfsmiznvg)
2037 if volqrbaomzl >= 0:
2038 yvppaekogs.move(volqrbaomzl, 0)
2039 dvfrzxabyk.move(-volqrbaomzl, 0)
2040 if duyfsmiznvg >= 0:
2041 yvppaekogs.move(0, duyfsmiznvg)
2042 dvfrzxabyk.move(0, -duyfsmiznvg)
2043 ogkqtyxbce = np.full((1, dvfrzxabyk.pixels.shape[1]), qgrljjqvyn)
2044 if volqrbaomzl != 0:
2045 yvppaekogs.pixels = yvppaekogs.pixels[: -abs(volqrbaomzl)]
2046 for i in range(abs(volqrbaomzl)):
2047 dvfrzxabyk.pixels = np.vstack([dvfrzxabyk.pixels, ogkqtyxbce])
2048 else:
2049 yvppaekogs.pixels = yvppaekogs.pixels[: -abs(duyfsmiznvg)]
2050 for i in range(abs(duyfsmiznvg)):
2051 dvfrzxabyk.pixels = np.vstack([dvfrzxabyk.pixels, ogkqtyxbce])
2052 self.wpcgsoumbr()
2053
2054 def iootdyzbwv(self, abwvwckyso: Sprite) -> None:
2055 yvppaekogs, dvfrzxabyk = self.wrcxjliglr[abwvwckyso]
2056 self.xowbpvmzbd(yvppaekogs, dvfrzxabyk)
2057
2058 def mwsdltsaxd(self, xklhcncusa: Sprite) -> wqemqapjce:
2059 amifeafxwr = self.current_level.get_sprites_by_tag("0043nzrtobajqi")
2060 lqequazmqm = [eqbmrymiwc for eqbmrymiwc in amifeafxwr if self.hpakcxndwy(eqbmrymiwc) == self.zfcrfmorna(xklhcncusa)]
2061 vqoweqholk = [eqbmrymiwc for eqbmrymiwc in lqequazmqm if self.mzqwlqlkrv(eqbmrymiwc) + self.vmjlfzxesj(eqbmrymiwc) == self.mzqwlqlkrv(xklhcncusa)]
2062 eltgoujmhx = [eqbmrymiwc for eqbmrymiwc in lqequazmqm if self.mzqwlqlkrv(eqbmrymiwc) == self.mzqwlqlkrv(xklhcncusa) + self.vmjlfzxesj(xklhcncusa)]
2063 wrrpfpsshs = vqoweqholk[0]
2064 nmhvenelbu = eltgoujmhx[0]
2065 hgrgnxfhxv = []
2066 jhnzlxbvwh = self.usqfmpzewf(wrrpfpsshs)
2067 ydofmpomfe = self.usqfmpzewf(nmhvenelbu)
2068 for vfddimntfs in jhnzlxbvwh:
2069 if self.dwwmpxqsza[0] != 0:
2070 y = nmhvenelbu.y + nmhvenelbu.height // 2 - vfddimntfs.height // 2
2071 x = vfddimntfs.x
2072 else:
2073 x = nmhvenelbu.x + nmhvenelbu.width // 2 - vfddimntfs.width // 2
2074 y = vfddimntfs.y
2075 hgrgnxfhxv.append(kzobdxxpyg(vfddimntfs, (x, y)))
2076 for vfddimntfs in ydofmpomfe:
2077 if self.dwwmpxqsza[0] != 0:
2078 y = wrrpfpsshs.y + wrrpfpsshs.height // 2 - vfddimntfs.height // 2
2079 x = vfddimntfs.x
2080 else:
2081 x = wrrpfpsshs.x + wrrpfpsshs.width // 2 - vfddimntfs.width // 2
2082 y = vfddimntfs.y
2083 hgrgnxfhxv.append(kzobdxxpyg(vfddimntfs, (x, y)))
2084 if self.dwwmpxqsza[0] > 0:
2085 zbfsemofrj = kzobdxxpyg(xklhcncusa, (xklhcncusa.x - xklhcncusa.width, xklhcncusa.y))
2086 elif self.dwwmpxqsza[0] < 0:
2087 zbfsemofrj = kzobdxxpyg(xklhcncusa, (xklhcncusa.x + xklhcncusa.width, xklhcncusa.y))
2088 else:
2089 zbfsemofrj = kzobdxxpyg(xklhcncusa, (xklhcncusa.x, xklhcncusa.y - xklhcncusa.height))
2090 nxdhyqlepc = kzobdxxpyg(xklhcncusa, (xklhcncusa.x, xklhcncusa.y))
2091 ocvdtekxgc = wqemqapjce([zbfsemofrj] + hgrgnxfhxv + [nxdhyqlepc])
2092 return ocvdtekxgc
2093
2094 def step(self) -> None:
2095 """."""
2096 if self.bnnqyrupir:
2097 if self.bnnqyrupir.xryezihexa():
2098 self.bnnqyrupir = None
2099 self.wpcgsoumbr()
2100 else:
2101 return
2102 elif self.action.id == GameAction.ACTION6:
2103 self.heczcoeosi.tuvumryrbp()
2104 wmatnlmsbs = self.action.data.get("x", 0)
2105 iecizdiqxl = self.action.data.get("y", 0)
2106 rgadpfgsms = self.camera.display_to_grid(wmatnlmsbs, iecizdiqxl)
2107 if rgadpfgsms:
2108 game_x, game_y = rgadpfgsms
2109 sprite = self.current_level.get_sprite_at(game_x, game_y)
2110 if sprite:
2111 if "0022jvmlspyigc" in sprite.tags:
2112 self.iootdyzbwv(sprite)
2113 elif "0004sttgkofqwb" in sprite.tags:
2114 if self.ezbubuphlm(sprite):
2115 self.bnnqyrupir = self.mwsdltsaxd(sprite)
2116 cagzzrtjlm = self.current_level.get_sprites_by_tag("0007gyluczquhi")
2117 for pcbttqnhxk in cagzzrtjlm:
2118 pcbttqnhxk.set_visible(False)
2119 return
2120 if self.ielczunthe():
2121 self.next_level()
2122 elif not self.heczcoeosi.current_steps:
2123 self.lose()
2124 self.complete_action()