# MIT License # # Copyright (c) 2026 ARC Prize Foundation # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in all # copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. import numpy as np from arcengine import ( ARCBaseGame, Camera, GameAction, Level, RenderableUserDisplay, Sprite, ) sprites = { "0000ufilpvvllo": Sprite( pixels=[ [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], [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], [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], ], name="0000ufilpvvllo", visible=True, collidable=True, tags=["0001symqacyexa"], ), "0002eemauzpzws": Sprite( pixels=[ [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], ], name="0002eemauzpzws", visible=True, collidable=True, tags=["0001symqacyexa"], ), "0003qvhiakludh": Sprite( pixels=[ [1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1], ], name="0003qvhiakludh", visible=True, collidable=True, tags=["0004sttgkofqwb", "sys_click"], layer=3, ), "0005nxriaixjyr": Sprite( pixels=[ [1, 1], [1, 1], [1, 1], [1, 1], [1, 1], [1, 1], [1, 1], [1, 1], ], name="0005nxriaixjyr", visible=True, collidable=True, tags=["0004sttgkofqwb", "sys_click"], layer=3, ), "0006mfbmvylbss": Sprite( pixels=[ [-2, -1, -1, -1, -1, -1, -2], [-2, -1, -1, -1, -1, -1, -2], [0, -1, -1, -1, -1, -1, 0], [0, -1, -1, -1, -1, -1, 0], [0, -1, -1, -1, -1, -1, 0], [0, -1, -1, -1, -1, -1, 0], [0, -1, -1, -1, -1, -1, 0], [0, -1, -1, -1, -1, -1, 0], [0, -1, -1, -1, -1, -1, 0], [0, -1, -1, -1, -1, -1, 0], [-2, -1, -1, -1, -1, -1, -2], [-2, -1, -1, -1, -1, -1, -2], ], name="0006mfbmvylbss", visible=True, collidable=True, tags=["0007gyluczquhi"], ), "0008rybtprnbie": Sprite( pixels=[ [-2, -1, -1, -1, -1, -2], [0, -1, -1, -1, -1, 0], [0, -1, -1, -1, -1, 0], [0, -1, -1, -1, -1, 0], [0, -1, -1, -1, -1, 0], [0, -1, -1, -1, -1, 0], [0, -1, -1, -1, -1, 0], [-2, -1, -1, -1, -1, -2], ], name="0008rybtprnbie", visible=True, collidable=True, tags=["0007gyluczquhi"], ), "0009vwghyhtilb": Sprite( pixels=[ [-2, -2], [-2, -2], [11, 11], ], name="0009vwghyhtilb", visible=True, collidable=True, tags=["0010gnulkywfpz"], layer=2, ), "0011egrqhpaniv": Sprite( pixels=[ [-2, -2], [-2, -2], [14, 14], ], name="0011egrqhpaniv", visible=True, collidable=True, tags=["0010gnulkywfpz"], layer=1, ), "0012efovcqtrsv": Sprite( pixels=[ [-2, -2], [-2, -2], [15, 15], ], name="0012efovcqtrsv", visible=True, collidable=True, tags=["0010gnulkywfpz"], layer=1, ), "0013nlpqaanefy": Sprite( pixels=[ [-2, -2, -2], [-2, -2, -2], [-2, -2, -2], [-2, -2, -2], [11, 11, 11], [11, 11, 11], ], name="0013nlpqaanefy", visible=True, collidable=True, tags=["0010gnulkywfpz"], layer=1, ), "0014fnratutanf": Sprite( pixels=[ [-2, -2, -2], [-2, -2, -2], [-2, -2, -2], [-2, -2, -2], [14, 14, 14], [14, 14, 14], ], name="0014fnratutanf", visible=True, collidable=True, tags=["0010gnulkywfpz"], layer=1, ), "0015cltmlkogkc": Sprite( pixels=[ [-1, 4, -1], [4, 4, 4], [11, 11, 11], ], name="0015cltmlkogkc", visible=True, collidable=True, tags=["0016uciqlhjlom"], layer=1, ), "0017pmjcrnwxxj": Sprite( pixels=[ [-1, 4, -1], [4, 4, 4], [14, 14, 14], ], name="0017pmjcrnwxxj", visible=True, collidable=True, tags=["0016uciqlhjlom"], ), "0018rxmsqpnhhx": Sprite( pixels=[ [-1, 4, -1], [4, 4, 4], [15, 15, 15], ], name="0018rxmsqpnhhx", visible=True, collidable=True, tags=["0016uciqlhjlom"], ), "0019yzthbwsumy": Sprite( pixels=[ [-1, -1, 4, 4, -1, -1], [-1, -1, 4, 4, -1, -1], [4, 4, 4, 4, 4, 4], [4, 4, 4, 4, 4, 4], [11, 11, 11, 11, 11, 11], [11, 11, 11, 11, 11, 11], ], name="0019yzthbwsumy", visible=True, collidable=True, tags=["0016uciqlhjlom"], layer=1, ), "0020supxvsgicv": Sprite( pixels=[ [-1, -1, 4, 4, -1, -1], [-1, -1, 4, 4, -1, -1], [4, 4, 4, 4, 4, 4], [4, 4, 4, 4, 4, 4], [14, 14, 14, 14, 14, 14], [14, 14, 14, 14, 14, 14], ], name="0020supxvsgicv", visible=True, collidable=True, tags=["0016uciqlhjlom"], layer=1, ), "0021ayhektiwsl": Sprite( pixels=[ [9, 9], [9, 9], ], name="0021ayhektiwsl", visible=True, collidable=True, tags=["0022jvmlspyigc", "sys_click"], layer=1, ), "0023zpxhabfwya": Sprite( pixels=[ [9, 9, 9], [9, 9, 9], [9, 9, 9], ], name="0023zpxhabfwya", visible=True, collidable=True, tags=["0022jvmlspyigc", "sys_click"], layer=1, ), "0024oklzljpbjf": Sprite( pixels=[ [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], [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], ], name="0024oklzljpbjf", visible=True, collidable=True, tags=["0025yfyiswdvoh"], layer=1, ), "0026mrilttcabm": Sprite( pixels=[ [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], [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], ], name="0026mrilttcabm", visible=True, collidable=True, tags=["0025yfyiswdvoh"], ), "0027sdwqirupzd": Sprite( pixels=[ [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], [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], ], name="0027sdwqirupzd", visible=True, collidable=True, tags=["0025yfyiswdvoh"], ), "0028yrxfnwssrz": Sprite( pixels=[ [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], ], name="0028yrxfnwssrz", visible=True, collidable=True, tags=["0025yfyiswdvoh"], ), "0029hisqstrfef": Sprite( pixels=[ [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], [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], ], name="0029hisqstrfef", visible=True, collidable=True, tags=["0025yfyiswdvoh"], ), "0030tpzxnyfdvh": Sprite( pixels=[ [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], [5, 5, 5], [5, 5, 5], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [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], ], name="0030tpzxnyfdvh", visible=True, collidable=True, tags=["0025yfyiswdvoh"], ), "0031pjczzavayi": Sprite( pixels=[ [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], [5, 5, 5], [5, 5, 5], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [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], [5, 5, 5], [5, 5, 5], [5, 5, 5], [5, 5, 5], [5, 5, 5], [5, 5, 5], [5, 5, 5], [5, 5, 5], ], name="0031pjczzavayi", visible=True, collidable=True, tags=["0025yfyiswdvoh"], ), "0032xvysrppdmd": Sprite( pixels=[ [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], [5, 5, 5], [5, 5, 5], [5, 5, 5], [5, 5, 5], [5, 5, 5], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [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], [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], [5, 5, 5], [5, 5, 5], [5, 5, 5], [5, 5, 5], [5, 5, 5], [5, 5, 5], [5, 5, 5], ], name="0032xvysrppdmd", visible=True, collidable=True, tags=["0025yfyiswdvoh"], ), "0033jkunkpsthb": Sprite( pixels=[ [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], [5, 5, 5], [5, 5, 5], [5, 5, 5], [5, 5, 5], [5, 5, 5], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [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], [5, 5, 5], [5, 5, 5], ], name="0033jkunkpsthb", visible=True, collidable=True, tags=["0025yfyiswdvoh"], ), "0034gljhkoittz": Sprite( pixels=[ [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], [5, 5, 5], [5, 5, 5], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [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], [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], [5, 5, 5], [5, 5, 5], [5, 5, 5], [5, 5, 5], ], name="0034gljhkoittz", visible=True, collidable=True, tags=["0025yfyiswdvoh"], ), "0035mojyqpmkca": Sprite( pixels=[ [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], [5, 5, 5], [5, 5, 5], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [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], [5, 5, 5], [5, 5, 5], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [5, 5, 5], [5, 5, 5], [5, 5, 5], [5, 5, 5], [5, 5, 5], [5, 5, 5], ], name="0035mojyqpmkca", visible=True, collidable=True, tags=["0025yfyiswdvoh"], ), "0036rjrqlosxim": Sprite( pixels=[ [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [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], [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], ], name="0036rjrqlosxim", visible=True, collidable=True, tags=["0025yfyiswdvoh"], ), "0037zhvthfywaf": Sprite( pixels=[ [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], [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], ], name="0037zhvthfywaf", visible=True, collidable=True, tags=["0025yfyiswdvoh"], ), "0038kxomlaqnmm": Sprite( pixels=[ [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], [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], ], name="0038kxomlaqnmm", visible=True, collidable=True, tags=["0025yfyiswdvoh"], ), "0039vrggqczkeg": Sprite( pixels=[ [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], [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], [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], [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], ], name="0039vrggqczkeg", visible=True, collidable=True, tags=["0025yfyiswdvoh"], ), "0040sfsyhdwzpa": Sprite( pixels=[ [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [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], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], [5, 5], ], name="0040sfsyhdwzpa", visible=True, collidable=True, tags=["0025yfyiswdvoh"], ), "0041wufoxqricu": Sprite( pixels=[ [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], [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], [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], ], name="0041wufoxqricu", visible=True, collidable=True, tags=["0025yfyiswdvoh"], ), "0042ueboolxadn": Sprite( pixels=[ [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, 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, 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, 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, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0], ], name="0042ueboolxadn", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0044auurrayaab": Sprite( pixels=[ [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, 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, 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, 0, 0, 0], ], name="0044auurrayaab", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0045wzhlvcxnxi": Sprite( pixels=[ [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, 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, 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, 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, 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, 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, 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, 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, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], ], name="0045wzhlvcxnxi", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0046qitpxixzbw": Sprite( pixels=[ [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, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], ], name="0046qitpxixzbw", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0047nozrwoeeue": Sprite( pixels=[ [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, 0, 0, 0, 0, 0, 0, 0, 0, 0], ], name="0047nozrwoeeue", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0048uprazwxldi": Sprite( pixels=[ [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, 0], ], name="0048uprazwxldi", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0049gizsqrldri": Sprite( pixels=[ [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, 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], ], name="0049gizsqrldri", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0050xlivmfsgrg": Sprite( pixels=[ [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, 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, 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, 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, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0], ], name="0050xlivmfsgrg", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0051cbovinmogo": Sprite( pixels=[ [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, 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, 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, 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, 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, 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], ], name="0051cbovinmogo", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0052jlqpbhssxz": Sprite( pixels=[ [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, 0, 0, 0, 0, 0], ], name="0052jlqpbhssxz", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0053hvedzitgvm": Sprite( pixels=[ [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, 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, 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, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], ], name="0053hvedzitgvm", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0054vgoahtzchm": Sprite( pixels=[ [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, 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, 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, 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, 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, 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, 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, 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, 0, 0, 0, 0], ], name="0054vgoahtzchm", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0055zkynfqcbvf": Sprite( pixels=[ [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, 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, 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, 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, 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, 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, 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, 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, 0, 0, 0, 0], ], name="0055zkynfqcbvf", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0056gvcomjuyya": Sprite( pixels=[ [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, 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, 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], ], name="0056gvcomjuyya", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0057jqxvzzgzuz": Sprite( pixels=[ [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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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], [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, 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, 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, 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, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], ], name="0057jqxvzzgzuz", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0058isdkrjwbjw": Sprite( pixels=[ [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, 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, 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], ], name="0058isdkrjwbjw", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0059nzfxpksuts": Sprite( pixels=[ [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], [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], [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], [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], [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], [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], [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], [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], [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], [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], [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], [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], [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], [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], [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], [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], [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], [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], ], name="0059nzfxpksuts", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0060vzyhngpdxk": Sprite( pixels=[ [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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], ], name="0060vzyhngpdxk", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0061hvrsaskhtv": Sprite( pixels=[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], ], name="0061hvrsaskhtv", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0062jjoqcrrlqt": Sprite( pixels=[ [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, 0], ], name="0062jjoqcrrlqt", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0063vjsvlzmsou": Sprite( pixels=[ [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, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], ], name="0063vjsvlzmsou", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0064keizattioe": Sprite( pixels=[ [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, 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, 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, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], ], name="0064keizattioe", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0065dnabthoeah": Sprite( pixels=[ [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, 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, 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, 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, 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, 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, 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, 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, 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, 0], ], name="0065dnabthoeah", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0066vaxquypzdt": Sprite( pixels=[ [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, 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, 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, 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, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], ], name="0066vaxquypzdt", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0067nuweesmgmg": Sprite( pixels=[ [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, 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, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], ], name="0067nuweesmgmg", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0068ggudhgdmjj": Sprite( pixels=[ [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, 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, 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, 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, 0, 0, 0, 0], ], name="0068ggudhgdmjj", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), "0069aqtrahmrun": Sprite( pixels=[ [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, 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, 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, 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, 0, 0], ], name="0069aqtrahmrun", visible=True, collidable=True, tags=["0043nzrtobajqi"], ), } levels = [ # Level 1 Level( sprites=[ sprites["0009vwghyhtilb"].clone().set_position(17, 14).set_rotation(270), sprites["0015cltmlkogkc"].clone().set_position(23, 22).set_rotation(270), sprites["0021ayhektiwsl"].clone().set_position(30, 12).set_rotation(270), sprites["0021ayhektiwsl"].clone().set_position(30, 16).set_rotation(270), sprites["0024oklzljpbjf"].clone().set_position(10, 14).set_rotation(270), sprites["0042ueboolxadn"].clone().set_position(16, 0).set_rotation(270), sprites["0044auurrayaab"].clone().set_position(26, 16).set_rotation(270), ], grid_size=(32, 32), data={ "StepCounter": 50, "Gravity": [2, 0], }, ), # Level 2 Level( sprites=[ sprites["0011egrqhpaniv"].clone().set_position(14, 20).set_rotation(90), sprites["0017pmjcrnwxxj"].clone().set_position(4, 26).set_rotation(90), sprites["0021ayhektiwsl"].clone().set_position(0, 8).set_rotation(90), sprites["0021ayhektiwsl"].clone().set_position(0, 12).set_rotation(90), sprites["0021ayhektiwsl"].clone().set_position(0, 18).set_rotation(90), sprites["0021ayhektiwsl"].clone().set_position(0, 22).set_rotation(90), sprites["0026mrilttcabm"].clone().set_position(0, 10).set_rotation(90), sprites["0027sdwqirupzd"].clone().set_position(0, 20).set_rotation(90), sprites["0045wzhlvcxnxi"].clone().set_rotation(90), sprites["0046qitpxixzbw"].clone().set_position(0, 12).set_rotation(90), sprites["0047nozrwoeeue"].clone().set_position(0, 22).set_rotation(90), ], grid_size=(32, 32), data={ "StepCounter": 50, "Gravity": [-2, 0], }, ), # Level 3 Level( sprites=[ sprites["0009vwghyhtilb"].clone().set_position(42, 39), sprites["0011egrqhpaniv"].clone().set_position(8, 33), sprites["0012efovcqtrsv"].clone().set_position(30, 31), sprites["0015cltmlkogkc"].clone().set_position(46, 21), sprites["0017pmjcrnwxxj"].clone().set_position(2, 45), sprites["0018rxmsqpnhhx"].clone().set_position(35, 43), sprites["0021ayhektiwsl"].clone().set_position(6, 50), sprites["0021ayhektiwsl"].clone().set_position(10, 50), sprites["0021ayhektiwsl"].clone().set_position(22, 50), sprites["0021ayhektiwsl"].clone().set_position(18, 50), sprites["0021ayhektiwsl"].clone().set_position(32, 50), sprites["0021ayhektiwsl"].clone().set_position(28, 50), sprites["0021ayhektiwsl"].clone().set_position(44, 50), sprites["0021ayhektiwsl"].clone().set_position(40, 50), sprites["0028yrxfnwssrz"].clone().set_position(20, 46), sprites["0029hisqstrfef"].clone().set_position(42, 24), sprites["0037zhvthfywaf"].clone().set_position(30, 30), sprites["0038kxomlaqnmm"].clone().set_position(8, 32), sprites["0048uprazwxldi"].clone().set_position(22, 48), sprites["0049gizsqrldri"].clone().set_position(32, 46), sprites["0050xlivmfsgrg"].clone().set_position(44, 24), sprites["0061hvrsaskhtv"].clone().set_position(10, 50), sprites["0062jjoqcrrlqt"].clone().set_position(0, 48), ], grid_size=(52, 52), data={ "StepCounter": 75, "Gravity": [0, 2], }, ), # Level 4 Level( sprites=[ sprites["0003qvhiakludh"].clone().set_position(27, 34), sprites["0003qvhiakludh"].clone().set_position(12, 43), sprites["0013nlpqaanefy"].clone().set_position(42, 25), sprites["0019yzthbwsumy"].clone().set_position(3, 43), sprites["0023zpxhabfwya"].clone().set_position(15, 61), sprites["0023zpxhabfwya"].clone().set_position(57, 61), sprites["0023zpxhabfwya"].clone().set_position(9, 61), sprites["0023zpxhabfwya"].clone().set_position(51, 61), sprites["0023zpxhabfwya"].clone().set_position(45, 61), sprites["0023zpxhabfwya"].clone().set_position(39, 61), sprites["0030tpzxnyfdvh"].clone().set_position(12, 31), sprites["0031pjczzavayi"].clone().set_position(27, 22), sprites["0039vrggqczkeg"].clone().set_position(42, 25), sprites["0041wufoxqricu"].clone().set_position(54, 34), sprites["0051cbovinmogo"].clone().set_position(0, 49), sprites["0052jlqpbhssxz"].clone().set_position(15, 61), sprites["0053hvedzitgvm"].clone().set_position(30, 55), sprites["0063vjsvlzmsou"].clone().set_position(45, 58), sprites["0069aqtrahmrun"].clone().set_position(57, 46), ], grid_size=(64, 64), data={ "StepCounter": 50, "Gravity": [0, 3], }, ), # Level 5 Level( sprites=[ sprites["0003qvhiakludh"].clone().set_position(28, 14).set_rotation(270), sprites["0003qvhiakludh"].clone().set_position(25, 49).set_rotation(270), sprites["0003qvhiakludh"].clone().set_position(40, 32).set_rotation(270), sprites["0013nlpqaanefy"].clone().set_position(16, 14).set_rotation(270), sprites["0014fnratutanf"].clone().set_position(10, 49).set_rotation(270), sprites["0019yzthbwsumy"].clone().set_position(37, 55).set_rotation(270), sprites["0020supxvsgicv"].clone().set_position(10, 5).set_rotation(270), sprites["0023zpxhabfwya"].clone().set_position(61, 29).set_rotation(270), sprites["0023zpxhabfwya"].clone().set_position(61, 35).set_rotation(270), sprites["0023zpxhabfwya"].clone().set_position(61, 17).set_rotation(270), sprites["0023zpxhabfwya"].clone().set_position(61, 46).set_rotation(270), sprites["0023zpxhabfwya"].clone().set_position(61, 11).set_rotation(270), sprites["0023zpxhabfwya"].clone().set_position(61, 52).set_rotation(270), sprites["0032xvysrppdmd"].clone().set_position(10, 49).set_rotation(270), sprites["0033jkunkpsthb"].clone().set_position(25, 32).set_rotation(270), sprites["0034gljhkoittz"].clone().set_position(16, 14).set_rotation(270), sprites["0054vgoahtzchm"].clone().set_position(43, 52).set_rotation(270), sprites["0055zkynfqcbvf"].clone().set_position(46, 35).set_rotation(270), sprites["0056gvcomjuyya"].clone().set_position(58, 17).set_rotation(270), sprites["0057jqxvzzgzuz"].clone().set_position(16, 0).set_rotation(270), ], grid_size=(64, 64), data={ "StepCounter": 200, "Gravity": [3, 0], }, ), # Level 6 Level( sprites=[ sprites["0000ufilpvvllo"].clone().set_position(21, 0).set_rotation(90), sprites["0003qvhiakludh"].clone().set_position(30, 30).set_rotation(90), sprites["0003qvhiakludh"].clone().set_position(6, 30).set_rotation(90), sprites["0013nlpqaanefy"].clone().set_position(48, 30).set_rotation(90), sprites["0019yzthbwsumy"].clone().set_position(3, 12).set_rotation(90), sprites["0023zpxhabfwya"].clone().set_position(0, 27).set_rotation(90), sprites["0023zpxhabfwya"].clone().set_position(0, 33).set_rotation(90), sprites["0023zpxhabfwya"].clone().set_position(24, 33).set_rotation(90), sprites["0023zpxhabfwya"].clone().set_position(24, 27).set_rotation(90), sprites["0035mojyqpmkca"].clone().set_position(0, 30).set_rotation(90), sprites["0058isdkrjwbjw"].clone().set_rotation(90), sprites["0059nzfxpksuts"].clone().set_position(0, 33).set_rotation(90), sprites["0060vzyhngpdxk"].clone().set_position(24, 0).set_rotation(90), ], grid_size=(64, 64), data={ "StepCounter": 50, "Gravity": [-3, 0], }, ), # Level 7 Level( sprites=[ sprites["0002eemauzpzws"].clone().set_position(0, 22).set_rotation(180), sprites["0002eemauzpzws"].clone().set_position(34, 22).set_rotation(180), sprites["0005nxriaixjyr"].clone().set_position(14, 30).set_rotation(180), sprites["0005nxriaixjyr"].clone().set_position(32, 8).set_rotation(180), sprites["0005nxriaixjyr"].clone().set_position(32, 30).set_rotation(180), sprites["0009vwghyhtilb"].clone().set_position(32, 18).set_rotation(180), sprites["0011egrqhpaniv"].clone().set_position(14, 10).set_rotation(180), sprites["0012efovcqtrsv"].clone().set_position(14, 42).set_rotation(180), sprites["0015cltmlkogkc"].clone().set_position(6, 32).set_rotation(180), sprites["0017pmjcrnwxxj"].clone().set_position(40, 34).set_rotation(180), sprites["0018rxmsqpnhhx"].clone().set_position(40, 6).set_rotation(180), sprites["0021ayhektiwsl"].clone().set_position(16, 0).set_rotation(180), sprites["0021ayhektiwsl"].clone().set_position(12, 0).set_rotation(180), sprites["0021ayhektiwsl"].clone().set_position(16, 24).set_rotation(180), sprites["0021ayhektiwsl"].clone().set_position(12, 24).set_rotation(180), sprites["0021ayhektiwsl"].clone().set_position(34, 24).set_rotation(180), sprites["0021ayhektiwsl"].clone().set_position(30, 24).set_rotation(180), sprites["0021ayhektiwsl"].clone().set_position(34, 0).set_rotation(180), sprites["0021ayhektiwsl"].clone().set_position(30, 0).set_rotation(180), sprites["0036rjrqlosxim"].clone().set_position(14, 0).set_rotation(180), sprites["0040sfsyhdwzpa"].clone().set_position(32, 0).set_rotation(180), sprites["0064keizattioe"].clone().set_position(0, 24).set_rotation(180), sprites["0065dnabthoeah"].clone().set_rotation(180), sprites["0066vaxquypzdt"].clone().set_position(34, 24).set_rotation(180), sprites["0067nuweesmgmg"].clone().set_position(34, 0).set_rotation(180), sprites["0068ggudhgdmjj"].clone().set_position(16, 0).set_rotation(180), ], grid_size=(48, 48), data={ "StepCounter": 200, "Gravity": [0, -2], }, ), ] BACKGROUND_COLOR = 3 PADDING_COLOR = 4 xbdwxvogip = 7 fqzhkhmfxt = 12 flmcufqvdo = 1 qgrljjqvyn = 0 class kzobdxxpyg: hxvxoxlwtk: Sprite xgwliflosy: tuple[int, int] def __init__(self, sprite: Sprite, mtdlwrbmzk: tuple[int, int]) -> None: self.hxvxoxlwtk = sprite self.xgwliflosy = mtdlwrbmzk def xryezihexa(self) -> bool: vmfjnujmbm = (self.hxvxoxlwtk.x, self.hxvxoxlwtk.y) mtdlwrbmzk = self.xgwliflosy dx = mtdlwrbmzk[0] - vmfjnujmbm[0] dy = mtdlwrbmzk[1] - vmfjnujmbm[1] if dx == 0 and dy == 0: return True if abs(dx) >= abs(dy): qqqlopeipe = (vmfjnujmbm[0] + np.sign(dx), vmfjnujmbm[1]) else: qqqlopeipe = (vmfjnujmbm[0], vmfjnujmbm[1] + np.sign(dy)) self.hxvxoxlwtk.set_position(qqqlopeipe[0], qqqlopeipe[1]) return False class wqemqapjce: emftrvixwu: list[kzobdxxpyg] chacnmhmit: int def __init__(self, maejydvpzz: list[kzobdxxpyg]) -> None: self.emftrvixwu = maejydvpzz self.chacnmhmit = 0 def xryezihexa(self) -> bool: mxefvazonp = self.emftrvixwu[self.chacnmhmit] if mxefvazonp.xryezihexa(): self.chacnmhmit += 1 if self.chacnmhmit == len(self.emftrvixwu): return True return False class xclqwacrmx(RenderableUserDisplay): """.""" def __init__(self, dmesyeowwd: int): """.""" self.dmesyeowwd = dmesyeowwd self.current_steps = dmesyeowwd def kzdrzwegyq(self, jwqkgpseim: int) -> None: """.""" self.current_steps = max(0, min(jwqkgpseim, self.dmesyeowwd)) def tuvumryrbp(self) -> bool: """.""" if self.current_steps > 0: self.current_steps -= 1 return self.current_steps > 0 def mflhbpdcce(self) -> None: """.""" self.current_steps = self.dmesyeowwd def render_interface(self, frame: np.ndarray) -> np.ndarray: """.""" if self.dmesyeowwd == 0: return frame xmiochpvpa = self.current_steps / self.dmesyeowwd odvxyoizxg = round(64 * xmiochpvpa) cjicgmvvti = xbdwxvogip for x in range(64): if x < odvxyoizxg: frame[0, x] = cjicgmvvti else: frame[0, x] = 4 return frame class Vc33(ARCBaseGame): heczcoeosi: xclqwacrmx dwwmpxqsza: tuple[int, int] wrcxjliglr: dict[Sprite, tuple[Sprite, Sprite]] bnnqyrupir: wqemqapjce | None def __init__(self) -> None: self.heczcoeosi = xclqwacrmx(0) xlpbmgyvhdc = Camera( background=BACKGROUND_COLOR, letter_box=PADDING_COLOR, interfaces=[self.heczcoeosi], ) super().__init__(game_id="vc33", levels=levels, camera=xlpbmgyvhdc, available_actions=[6]) def ztjckgmepu(self) -> None: """.""" rwejtsvefe = self.current_level.get_data("StepCounter") self.heczcoeosi.dmesyeowwd = rwejtsvefe self.heczcoeosi.mflhbpdcce() def cicmkyghjc(self, name: str) -> Sprite: return self.current_level.get_sprites_by_name(name)[0] def qhmwbtpcsk(self) -> bool: return self.dwwmpxqsza[0] > 0 or self.dwwmpxqsza[1] > 0 def mzqwlqlkrv(self, sprite: Sprite) -> int: if self.dwwmpxqsza[0]: return sprite.y return sprite.x def xitrlzpbgu(self, sprite: Sprite) -> int: if self.dwwmpxqsza[0]: return sprite.x return sprite.y def vmjlfzxesj(self, sprite: Sprite) -> int: if self.dwwmpxqsza[0]: return sprite.height return sprite.width def pjfzvvjgud(self, sprite: Sprite) -> int: if self.dwwmpxqsza[0]: return sprite.width return sprite.height def zfcrfmorna(self, sprite: Sprite) -> int: if self.qhmwbtpcsk(): return self.xitrlzpbgu(sprite) + self.pjfzvvjgud(sprite) else: return self.xitrlzpbgu(sprite) def hpakcxndwy(self, sprite: Sprite) -> int: if self.qhmwbtpcsk(): return self.xitrlzpbgu(sprite) else: return self.xitrlzpbgu(sprite) + self.pjfzvvjgud(sprite) def ldbtzvbmoj(self, eqbmrymiwc: Sprite, abwvwckyso: Sprite) -> bool: if self.qhmwbtpcsk(): return self.zfcrfmorna(eqbmrymiwc) >= self.hpakcxndwy(abwvwckyso) else: return self.zfcrfmorna(eqbmrymiwc) <= self.hpakcxndwy(abwvwckyso) def on_set_level(self, level: Level) -> None: """.""" self.ztjckgmepu() self.bnnqyrupir = None self.dwwmpxqsza = self.current_level.get_data("Gravity") self.wrcxjliglr = dict() wpgwyzgomg = self.current_level.get_sprites_by_tag("0022jvmlspyigc") amifeafxwr = self.current_level.get_sprites_by_tag("0043nzrtobajqi") for abwvwckyso in wpgwyzgomg: dfghvrvmmj = [eqbmrymiwc for eqbmrymiwc in amifeafxwr if self.mzqwlqlkrv(eqbmrymiwc) == self.mzqwlqlkrv(abwvwckyso) and self.ldbtzvbmoj(eqbmrymiwc, abwvwckyso)] if dfghvrvmmj: sxrzgujgtx = [eqbmrymiwc for eqbmrymiwc in amifeafxwr if self.mzqwlqlkrv(eqbmrymiwc) + self.vmjlfzxesj(eqbmrymiwc) == self.mzqwlqlkrv(abwvwckyso) - self.vmjlfzxesj(abwvwckyso) and self.ldbtzvbmoj(eqbmrymiwc, abwvwckyso)] if self.qhmwbtpcsk(): pzeognzxtp = min(sxrzgujgtx, key=lambda glarpukzki: self.xitrlzpbgu(glarpukzki)) qrsthafmxa = min(dfghvrvmmj, key=lambda glarpukzki: self.xitrlzpbgu(glarpukzki)) else: pzeognzxtp = max(sxrzgujgtx, key=lambda glarpukzki: self.xitrlzpbgu(glarpukzki)) qrsthafmxa = max(dfghvrvmmj, key=lambda glarpukzki: self.xitrlzpbgu(glarpukzki)) self.wrcxjliglr[abwvwckyso] = (pzeognzxtp, qrsthafmxa) else: 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)] if sxrzgujgtx: dfghvrvmmj = [eqbmrymiwc for eqbmrymiwc in amifeafxwr if self.mzqwlqlkrv(eqbmrymiwc) == self.mzqwlqlkrv(abwvwckyso) + self.vmjlfzxesj(abwvwckyso) * 2 and self.ldbtzvbmoj(eqbmrymiwc, abwvwckyso)] if self.qhmwbtpcsk(): pzeognzxtp = min( sxrzgujgtx, key=lambda glarpukzki: self.xitrlzpbgu(glarpukzki), ) qrsthafmxa = min( dfghvrvmmj, key=lambda glarpukzki: self.xitrlzpbgu(glarpukzki), ) else: pzeognzxtp = max( sxrzgujgtx, key=lambda glarpukzki: self.xitrlzpbgu(glarpukzki), ) qrsthafmxa = max( dfghvrvmmj, key=lambda glarpukzki: self.xitrlzpbgu(glarpukzki), ) self.wrcxjliglr[abwvwckyso] = (qrsthafmxa, pzeognzxtp) def ielczunthe(self) -> bool: """.""" wdfdpqxtkf = self.current_level.get_sprites_by_tag("0016uciqlhjlom") vtcmlsebpq = self.current_level.get_sprites_by_tag("0010gnulkywfpz") amifeafxwr = self.current_level.get_sprites_by_tag("0043nzrtobajqi") bqppzuakxi = self.current_level.get_sprites_by_tag("0025yfyiswdvoh") for vfddimntfs in wdfdpqxtkf: zoovwgfyzl = vfddimntfs.pixels[-1, -1] zvmujaknkt = [eqbmrymiwc for eqbmrymiwc in amifeafxwr if self.bcpuwqzpxw(vfddimntfs, eqbmrymiwc)] kxlcdazxzs = self.rcbyiqlbza(zvmujaknkt[0]) nyaroikuxn = True for hxlxvkeipz in vtcmlsebpq: bggewwdych = [wall for wall in bqppzuakxi if wall.collides_with(hxlxvkeipz)][0] if zoovwgfyzl in hxlxvkeipz.pixels and self.xitrlzpbgu(vfddimntfs) == self.xitrlzpbgu(hxlxvkeipz) and (bggewwdych in kxlcdazxzs): nyaroikuxn = False break if nyaroikuxn: return False return True def ezbubuphlm(self, xklhcncusa: Sprite) -> bool: amifeafxwr = self.current_level.get_sprites_by_tag("0043nzrtobajqi") lqequazmqm = [eqbmrymiwc for eqbmrymiwc in amifeafxwr if self.hpakcxndwy(eqbmrymiwc) == self.zfcrfmorna(xklhcncusa)] vqoweqholk = [eqbmrymiwc for eqbmrymiwc in lqequazmqm if self.mzqwlqlkrv(eqbmrymiwc) + self.vmjlfzxesj(eqbmrymiwc) == self.mzqwlqlkrv(xklhcncusa)] eltgoujmhx = [eqbmrymiwc for eqbmrymiwc in lqequazmqm if self.mzqwlqlkrv(eqbmrymiwc) == self.mzqwlqlkrv(xklhcncusa) + self.vmjlfzxesj(xklhcncusa)] if vqoweqholk and eltgoujmhx: return True return False def vktvbwfvhu(self, xklhcncusa: Sprite) -> None: if self.ezbubuphlm(xklhcncusa): xklhcncusa.color_remap(None, fqzhkhmfxt) if xklhcncusa.pixels.shape[1] == 3: pcbttqnhxk = sprites["0006mfbmvylbss"].clone() else: pcbttqnhxk = sprites["0008rybtprnbie"].clone() pcbttqnhxk.set_rotation(xklhcncusa.rotation) if xklhcncusa.rotation == 0: pcbttqnhxk.set_position(xklhcncusa.x - 2, xklhcncusa.y) elif xklhcncusa.rotation == 180: pcbttqnhxk.set_position(xklhcncusa.x - 2, xklhcncusa.y) if xklhcncusa.rotation == 90: pcbttqnhxk.set_position(xklhcncusa.x, xklhcncusa.y - 2) elif xklhcncusa.rotation == 270: pcbttqnhxk.set_position(xklhcncusa.x, xklhcncusa.y - 2) self.current_level.add_sprite(pcbttqnhxk) else: xklhcncusa.color_remap(None, flmcufqvdo) def wpcgsoumbr(self) -> None: cagzzrtjlm = self.current_level.get_sprites_by_tag("0007gyluczquhi") for pcbttqnhxk in cagzzrtjlm: self.current_level.remove_sprite(pcbttqnhxk) pqklvzcuxd = self.current_level.get_sprites_by_tag("0004sttgkofqwb") for xklhcncusa in pqklvzcuxd: self.vktvbwfvhu(xklhcncusa) def rcbyiqlbza(self, eqbmrymiwc: Sprite) -> list[Sprite]: bqppzuakxi = self.current_level.get_sprites_by_tag("0025yfyiswdvoh") 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)] return kxlcdazxzs def kectayqmfn(self, eqbmrymiwc: Sprite) -> list[Sprite]: wsqwqkejcw = self.current_level.get_sprites_by_tag("0001symqacyexa") if self.qhmwbtpcsk(): mkmqnniulx = [floor for floor in wsqwqkejcw if self.mzqwlqlkrv(floor) == self.mzqwlqlkrv(eqbmrymiwc) and self.zfcrfmorna(floor) < self.zfcrfmorna(eqbmrymiwc)] else: mkmqnniulx = [floor for floor in wsqwqkejcw if self.mzqwlqlkrv(floor) == self.mzqwlqlkrv(eqbmrymiwc) and self.zfcrfmorna(floor) > self.zfcrfmorna(eqbmrymiwc)] return mkmqnniulx def bcpuwqzpxw(self, vfddimntfs: Sprite, eqbmrymiwc: Sprite) -> bool: return self.mzqwlqlkrv(vfddimntfs) >= self.mzqwlqlkrv(eqbmrymiwc) and self.mzqwlqlkrv(vfddimntfs) < self.mzqwlqlkrv(eqbmrymiwc) + self.vmjlfzxesj(eqbmrymiwc) and (self.zfcrfmorna(vfddimntfs) == self.hpakcxndwy(eqbmrymiwc)) def usqfmpzewf(self, eqbmrymiwc: Sprite) -> list[Sprite]: wdfdpqxtkf = self.current_level.get_sprites_by_tag("0016uciqlhjlom") return [vfddimntfs for vfddimntfs in wdfdpqxtkf if self.bcpuwqzpxw(vfddimntfs, eqbmrymiwc)] def ysoqxdegud(self, eqbmrymiwc: Sprite) -> int: ehuyojkjcq = self.kectayqmfn(eqbmrymiwc) if ehuyojkjcq: if self.usqfmpzewf(eqbmrymiwc): if self.dwwmpxqsza[0] == -3: return max([self.zfcrfmorna(sprite) - 6 for sprite in ehuyojkjcq]) else: return max([self.zfcrfmorna(sprite) - 4 for sprite in ehuyojkjcq]) else: return max([self.zfcrfmorna(sprite) for sprite in ehuyojkjcq]) katgaxrnxd = self.rcbyiqlbza(eqbmrymiwc) if self.qhmwbtpcsk(): return max([self.hpakcxndwy(sprite) for sprite in katgaxrnxd]) else: return min([self.hpakcxndwy(sprite) for sprite in katgaxrnxd]) def xowbpvmzbd(self, yvppaekogs: Sprite, dvfrzxabyk: Sprite) -> None: 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))): volqrbaomzl, duyfsmiznvg = self.dwwmpxqsza for vfddimntfs in self.usqfmpzewf(yvppaekogs): vfddimntfs.move(volqrbaomzl, duyfsmiznvg) for vfddimntfs in self.usqfmpzewf(dvfrzxabyk): vfddimntfs.move(-volqrbaomzl, -duyfsmiznvg) if volqrbaomzl >= 0: yvppaekogs.move(volqrbaomzl, 0) dvfrzxabyk.move(-volqrbaomzl, 0) if duyfsmiznvg >= 0: yvppaekogs.move(0, duyfsmiznvg) dvfrzxabyk.move(0, -duyfsmiznvg) ogkqtyxbce = np.full((1, dvfrzxabyk.pixels.shape[1]), qgrljjqvyn) if volqrbaomzl != 0: yvppaekogs.pixels = yvppaekogs.pixels[: -abs(volqrbaomzl)] for i in range(abs(volqrbaomzl)): dvfrzxabyk.pixels = np.vstack([dvfrzxabyk.pixels, ogkqtyxbce]) else: yvppaekogs.pixels = yvppaekogs.pixels[: -abs(duyfsmiznvg)] for i in range(abs(duyfsmiznvg)): dvfrzxabyk.pixels = np.vstack([dvfrzxabyk.pixels, ogkqtyxbce]) self.wpcgsoumbr() def iootdyzbwv(self, abwvwckyso: Sprite) -> None: yvppaekogs, dvfrzxabyk = self.wrcxjliglr[abwvwckyso] self.xowbpvmzbd(yvppaekogs, dvfrzxabyk) def mwsdltsaxd(self, xklhcncusa: Sprite) -> wqemqapjce: amifeafxwr = self.current_level.get_sprites_by_tag("0043nzrtobajqi") lqequazmqm = [eqbmrymiwc for eqbmrymiwc in amifeafxwr if self.hpakcxndwy(eqbmrymiwc) == self.zfcrfmorna(xklhcncusa)] vqoweqholk = [eqbmrymiwc for eqbmrymiwc in lqequazmqm if self.mzqwlqlkrv(eqbmrymiwc) + self.vmjlfzxesj(eqbmrymiwc) == self.mzqwlqlkrv(xklhcncusa)] eltgoujmhx = [eqbmrymiwc for eqbmrymiwc in lqequazmqm if self.mzqwlqlkrv(eqbmrymiwc) == self.mzqwlqlkrv(xklhcncusa) + self.vmjlfzxesj(xklhcncusa)] wrrpfpsshs = vqoweqholk[0] nmhvenelbu = eltgoujmhx[0] hgrgnxfhxv = [] jhnzlxbvwh = self.usqfmpzewf(wrrpfpsshs) ydofmpomfe = self.usqfmpzewf(nmhvenelbu) for vfddimntfs in jhnzlxbvwh: if self.dwwmpxqsza[0] != 0: y = nmhvenelbu.y + nmhvenelbu.height // 2 - vfddimntfs.height // 2 x = vfddimntfs.x else: x = nmhvenelbu.x + nmhvenelbu.width // 2 - vfddimntfs.width // 2 y = vfddimntfs.y hgrgnxfhxv.append(kzobdxxpyg(vfddimntfs, (x, y))) for vfddimntfs in ydofmpomfe: if self.dwwmpxqsza[0] != 0: y = wrrpfpsshs.y + wrrpfpsshs.height // 2 - vfddimntfs.height // 2 x = vfddimntfs.x else: x = wrrpfpsshs.x + wrrpfpsshs.width // 2 - vfddimntfs.width // 2 y = vfddimntfs.y hgrgnxfhxv.append(kzobdxxpyg(vfddimntfs, (x, y))) if self.dwwmpxqsza[0] > 0: zbfsemofrj = kzobdxxpyg(xklhcncusa, (xklhcncusa.x - xklhcncusa.width, xklhcncusa.y)) elif self.dwwmpxqsza[0] < 0: zbfsemofrj = kzobdxxpyg(xklhcncusa, (xklhcncusa.x + xklhcncusa.width, xklhcncusa.y)) else: zbfsemofrj = kzobdxxpyg(xklhcncusa, (xklhcncusa.x, xklhcncusa.y - xklhcncusa.height)) nxdhyqlepc = kzobdxxpyg(xklhcncusa, (xklhcncusa.x, xklhcncusa.y)) ocvdtekxgc = wqemqapjce([zbfsemofrj] + hgrgnxfhxv + [nxdhyqlepc]) return ocvdtekxgc def step(self) -> None: """.""" if self.bnnqyrupir: if self.bnnqyrupir.xryezihexa(): self.bnnqyrupir = None self.wpcgsoumbr() else: return elif self.action.id == GameAction.ACTION6: self.heczcoeosi.tuvumryrbp() wmatnlmsbs = self.action.data.get("x", 0) iecizdiqxl = self.action.data.get("y", 0) rgadpfgsms = self.camera.display_to_grid(wmatnlmsbs, iecizdiqxl) if rgadpfgsms: game_x, game_y = rgadpfgsms sprite = self.current_level.get_sprite_at(game_x, game_y) if sprite: if "0022jvmlspyigc" in sprite.tags: self.iootdyzbwv(sprite) elif "0004sttgkofqwb" in sprite.tags: if self.ezbubuphlm(sprite): self.bnnqyrupir = self.mwsdltsaxd(sprite) cagzzrtjlm = self.current_level.get_sprites_by_tag("0007gyluczquhi") for pcbttqnhxk in cagzzrtjlm: pcbttqnhxk.set_visible(False) return if self.ielczunthe(): self.next_level() elif not self.heczcoeosi.current_steps: self.lose() self.complete_action()