import arcade
import os

SPRITE_SCALING = 0.5
SPRITE_NATIVE_SIZE = 128
SPRITE_SIZE = int(SPRITE_NATIVE_SIZE * SPRITE_SCALING)

SCREEN_WIDTH = SPRITE_SIZE * 14
SCREEN_HEIGHT = SPRITE_SIZE * 10

MOVEMENT_SPEED = 5
COIN_SCALE = 0.7

class Room:
    """
    This class holds all the information about the
    different rooms.
    """
    def __init__(self):
        # You may want many lists. Lists for coins, monsters, etc.
        self.wall_list = None
        self.coin_list = None
        self.door_list = None
        self.smallpotion_list = None
        self.bigpotion_list = None
        # This holds the background images. If you don't want changing
        # background images, you can delete this part.
        self.background = None
        self.score = 0



def setup_room_1():
    """
    Create and return room 1.
    If your program gets large, you may want to separate this into different
    files.
    """
    room = Room()

    """ Set up the game and initialize the variables. """
    # Sprite lists
    

    room.wall_list = arcade.SpriteList()
    room.door_list = arcade.SpriteList()
    room.coin_list = arcade.SpriteList()
   
    room.smallpotion_list = arcade.SpriteList()
    room.bigpotion_list = arcade.SpriteList()

    for y in (0, SCREEN_HEIGHT - SPRITE_SIZE):
        # Loop for each box going across
        for x in range(0, SCREEN_WIDTH, SPRITE_SIZE):
            wall = arcade.Sprite("gravel_dirt.png", SPRITE_SCALING)
            wall.left = x
            wall.bottom = y
            room.wall_list.append(wall)

    # Create left and right column of boxes
    for x in (0, SCREEN_WIDTH - SPRITE_SIZE):
        # Loop for each box going across
        for y in range(SPRITE_SIZE, SCREEN_HEIGHT - SPRITE_SIZE, SPRITE_SIZE):
            # Skip making a block 4 and 5 blocks up on the right side
            if (y != SPRITE_SIZE * 4 and y != SPRITE_SIZE * 5) or x == 0:
                wall = arcade.Sprite("gravel_dirt.png", SPRITE_SCALING)
                wall.left = x
                wall.bottom = y
                room.wall_list.append(wall)
    for x in (0, SCREEN_WIDTH - SPRITE_SIZE):
        # Loop for each box going across
        for y in range(SPRITE_SIZE, SCREEN_HEIGHT - SPRITE_SIZE, SPRITE_SIZE):            
            if not (y != SPRITE_SIZE * 4 and y != SPRITE_SIZE * 5) or x == 0:
                door = arcade.Sprite("fence.png", SPRITE_SCALING)
                door.left = x
                door.bottom = y
                room.door_list.append(door)

    wall = arcade.Sprite("gravel_dirt.png", SPRITE_SCALING)
    wall.left = 7 * SPRITE_SIZE
    wall.bottom = 5 * SPRITE_SIZE
    room.wall_list.append(wall)
    
    # If you want coins or monsters in a level, then add that code here.

    # Load the background image for this level.
    room.background = arcade.load_texture("g.png")
    for i in range(300,600,75):
        coin = arcade.Sprite("coin.png",COIN_SCALE)
        coin.center_x = i
        coin.center_y = 500
        room.coin_list.append(coin)
    
    smallpotion = arcade.Sprite("big.png",0.05)
    smallpotion.center_x = 100
    smallpotion.center_y = 900
    room.smallpotion_list.append(smallpotion)
    return room


def setup_room_2():
    """
    Create and return room 2.
    """
    room = Room()
    
    """ Set up the game and initialize the variables. """
    # Sprite lists
    room.door_list = arcade.SpriteList()
    room.wall_list = arcade.SpriteList()
    room.coin_list = arcade.SpriteList()
    room.smallpotion_list = arcade.SpriteList()
    room.bigpotion_list = arcade.SpriteList()
    # -- Set up the walls
    # Create bottom and top row of boxes
    # This y loops a list of two, the coordinate 0, and just under the top of window
    for y in (0, SCREEN_HEIGHT - SPRITE_SIZE):
        # Loop for each box going across
        for x in range(0, SCREEN_WIDTH, SPRITE_SIZE):
            wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
            wall.left = x
            wall.bottom = y
            room.wall_list.append(wall)

    # Create left and right column of boxes
    for x in (0, SCREEN_WIDTH - SPRITE_SIZE):
        # Loop for each box going across
        for y in range(SPRITE_SIZE, SCREEN_HEIGHT - SPRITE_SIZE, SPRITE_SIZE):
            # Skip making a block 4 and 5 blocks up
            if (y != SPRITE_SIZE * 4 and y != SPRITE_SIZE * 5) or x != 0:
                wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
                wall.left = x
                wall.bottom = y
                room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 1 * SPRITE_SIZE
    wall.bottom = 6 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 1 * SPRITE_SIZE
    wall.bottom = 3 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 2 * SPRITE_SIZE
    wall.bottom = 5.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 2 * SPRITE_SIZE
    wall.bottom = 3.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 3 * SPRITE_SIZE
    wall.bottom = 3.5 * SPRITE_SIZE
    room.wall_list.append(wall)
    
    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 4 * SPRITE_SIZE
    wall.bottom = 3.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 4 * SPRITE_SIZE
    wall.bottom = 4.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 2 * SPRITE_SIZE
    wall.bottom = 5.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 2 * SPRITE_SIZE
    wall.bottom = 6.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 3 * SPRITE_SIZE
    wall.bottom = 6.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 4 * SPRITE_SIZE
    wall.bottom = 6.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 5 * SPRITE_SIZE
    wall.bottom = 6.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 6 * SPRITE_SIZE
    wall.bottom = 6.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 6 * SPRITE_SIZE
    wall.bottom = 5.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 6 * SPRITE_SIZE
    wall.bottom = 4.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 4 * SPRITE_SIZE
    wall.bottom = 2.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 6 * SPRITE_SIZE
    wall.bottom =3.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 6 * SPRITE_SIZE
    wall.bottom = 4.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 6 * SPRITE_SIZE
    wall.bottom = 0.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 6 * SPRITE_SIZE
    wall.bottom = 1.5 * SPRITE_SIZE
    room.wall_list.append(wall)


    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 7 * SPRITE_SIZE
    wall.bottom = 3.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 7 * SPRITE_SIZE
    wall.bottom = 1.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 8 * SPRITE_SIZE
    wall.bottom = 1.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 8 * SPRITE_SIZE
    wall.bottom = 3.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 9 * SPRITE_SIZE
    wall.bottom = 1.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 10 * SPRITE_SIZE
    wall.bottom = 1.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 10 * SPRITE_SIZE
    wall.bottom = 2.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 10 * SPRITE_SIZE
    wall.bottom = 3.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 10 * SPRITE_SIZE
    wall.bottom = 4.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 8 * SPRITE_SIZE
    wall.bottom = 4.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 10 * SPRITE_SIZE
    wall.bottom = 5.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 10 * SPRITE_SIZE
    wall.bottom = 6.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 9 * SPRITE_SIZE
    wall.bottom = 6.5 * SPRITE_SIZE
    room.wall_list.append(wall)


    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 8 * SPRITE_SIZE
    wall.bottom = 6.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 8 * SPRITE_SIZE
    wall.bottom = 7.5 * SPRITE_SIZE
    room.wall_list.append(wall)

    wall = arcade.Sprite("stone_snow.png", SPRITE_SCALING)
    wall.left = 8 * SPRITE_SIZE
    wall.bottom = 8 * SPRITE_SIZE
    room.wall_list.append(wall)
    room.background = arcade.load_texture("g.png")

    bigpotion = arcade.Sprite("small.png",0.05)
    bigpotion.center_x = 800
    bigpotion.center_y = 100
    room.bigpotion_list.append(bigpotion)
    return room


class MyGame(arcade.Window):
    """ Main application class. """

    def __init__(self, width, height):
        """
        Initializer
        """
        super().__init__(width, height,"Tocate el pnnywise")

        # Set the working directory (where we expect to find files) to the same
        # directory this .py file is in. You can leave this out of your own
        # code, but it is needed to easily run the examples using "python -m"
        # as mentioned at the top of this program.
        file_path = os.path.dirname(os.path.abspath(__file__))
        os.chdir(file_path)

        # Sprite lists
        self.current_room = 0

        # Set up the player
        self.game_over = False
        self.door_list = None
        self.rooms = None
        self.score = 0
        self.coin_list = None
        self.player_sprite = None
        self.physics_engine = None
        self.smallpotion_list = None
        self.bigpotion_list = None
    def setup(self):
        """ Set up the game and initialize the variables. """
        # Set up the player
        self.player_sprite =  arcade.AnimatedWalkingSprite()
        self.score = 0
        self.coin_list = arcade.SpriteList()
        self.smallpotion_list = arcade.SpriteList()
        self.bigpotion_list = arcade.SpriteList()
        self.player_sprite.center_x = 100
        self.player_sprite.center_y = 150
        character_scale = 0.75
        self.player_sprite.stand_right_textures = []
        self.player_sprite.stand_right_textures.append(arcade.load_texture("zombie_stand.png",
                                                                    scale=character_scale))
        self.player_sprite.stand_left_textures = []
        self.player_sprite.stand_left_textures.append(arcade.load_texture("zombie_stand.png",
                                                                   scale=character_scale, mirrored=True))

        self.player_sprite.walk_right_textures = []

        self.player_sprite.walk_right_textures.append(arcade.load_texture("zombie_walk1.png",
                                                                   scale=character_scale))
        self.player_sprite.walk_right_textures.append(arcade.load_texture("zombie_walk2.png",
                                                                   scale=character_scale))

        self.player_sprite.walk_left_textures = []

        self.player_sprite.walk_left_textures.append(arcade.load_texture("zombie_walk1.png",
                                                                  scale=character_scale, mirrored=True))
        self.player_sprite.walk_left_textures.append(arcade.load_texture("zombie_walk2.png",
                                                                  scale=character_scale, mirrored=True))


        # Our list of rooms
        self.rooms = []

        # Create the rooms. Extend the pattern for each room.
        room = setup_room_1()
        self.rooms.append(room)

        room = setup_room_2()
        self.rooms.append(room)

        # Our starting room number
        self.current_room = 0

        # Create a physics engine for this room
        self.physics_engine = arcade.PhysicsEngineSimple(self.player_sprite, self.rooms[self.current_room].wall_list)
        self.physics_engine = arcade.PhysicsEngineSimple(self.player_sprite, self.rooms[self.current_room].door_list)


    def on_draw(self):
        """
        Render the screen.
        """

        # This command has to happen before we start drawing
        

        arcade.start_render()

        # Draw the background texture
        arcade.draw_texture_rectangle(SCREEN_WIDTH // 2, SCREEN_HEIGHT // 2,
                                      SCREEN_WIDTH, SCREEN_HEIGHT, self.rooms[self.current_room].background)
        
        # Draw all the walls in this room
     

        self.rooms[self.current_room].door_list.draw()
        self.rooms[self.current_room].wall_list.draw()
        self.rooms[self.current_room].coin_list.draw()
        self.rooms[self.current_room].bigpotion_list.draw()
        self.rooms[self.current_room].smallpotion_list.draw()
        # If you have coins or monsters, then copy and modify the line
        # above for each list.
        output = "Score: {}".format(self.score)
        arcade.draw_text(output, 10, 20, arcade.color.WHITE, 14)

        self.player_sprite.draw()

    def on_key_press(self, key, modifiers):
        """Called whenever a key is pressed. """

        if key == arcade.key.W:
            self.player_sprite.change_y = MOVEMENT_SPEED
        elif key == arcade.key.S:
            self.player_sprite.change_y = -MOVEMENT_SPEED
        elif key == arcade.key.A:
            self.player_sprite.change_x = -MOVEMENT_SPEED
        elif key == arcade.key.D:
            self.player_sprite.change_x = MOVEMENT_SPEED
    def on_key_release(self, key, modifiers):
        """Called when the user releases a key. """

        if key == arcade.key.W or key == arcade.key.S:
            self.player_sprite.change_y = 0
        elif key == arcade.key.A or key == arcade.key.D:
            self.player_sprite.change_x = 0

    def update(self, delta_time):
        """ Movement and game logic """
            

        self.player_sprite.update_animation()
        # Call update on all sprites (The sprites don't do much in this
        # example though.)
        self.physics_engine.update() 

        # Do some logic here to figure out what room we are in, and if we need to go
        # to a different room.
        if self.player_sprite.center_x > SCREEN_WIDTH and self.current_room == 0:
            self.current_room = 1
            self.physics_engine = arcade.PhysicsEngineSimple(self.player_sprite,
                                                             self.rooms[self.current_room].wall_list)
            self.player_sprite.center_x = 0
        elif self.player_sprite.center_x < 0 and self.current_room == 1:
            self.current_room = 0
            self.physics_engine = arcade.PhysicsEngineSimple(self.player_sprite,
                                                             self.rooms[self.current_room].wall_list)
            self.player_sprite.center_x = SCREEN_WIDTH
        hit_list = arcade.check_for_collision_with_list(self.player_sprite,self.rooms[self.current_room].coin_list)
        hit_list2 = arcade.check_for_collision_with_list(self.player_sprite,self.rooms[self.current_room].bigpotion_list)
        hit_list3 = arcade.check_for_collision_with_list(self.player_sprite,self.rooms[self.current_room].smallpotion_list)
        
        for coin in hit_list:
            coin.kill()
            self.score += 1
            my_sound = arcade.load_sound("coinsound.wav")
            arcade.play_sound(my_sound)
        if self.score == 4:
            for i in self.rooms[self.current_room].door_list:
                i.kill()
                your_sound = arcade.load_sound("door.wav")
                arcade.play_sound(your_sound)

        for smallpotion in hit_list3:
            smallpotion.kill()
            self.player_sprite.scale=0.5
            tu_sound = arcade.load_sound("shrink.wav")
            arcade.play_sound(tu_sound)
        
        for bigpotion in hit_list2:
            bigpotion.kill()
            self.player_sprite.scale=1
            yo_sound = arcade.load_sound("grow.wav")
            arcade.play_sound(yo_sound)
        


def main():
    """ Main method """
    window = MyGame(SCREEN_WIDTH, SCREEN_HEIGHT)
    window.setup()
    arcade.run()


if __name__ == "__main__":
    main()
[((45, 21, 45, 40), 'arcade.SpriteList', 'arcade.SpriteList', ({}, {}), '()', False, 'import arcade\n'), ((46, 21, 46, 40), 'arcade.SpriteList', 'arcade.SpriteList', ({}, {}), '()', False, 'import arcade\n'), ((47, 21, 47, 40), 'arcade.SpriteList', 'arcade.SpriteList', ({}, {}), '()', False, 'import arcade\n'), ((49, 28, 49, 47), 'arcade.SpriteList', 'arcade.SpriteList', ({}, {}), '()', False, 'import arcade\n'), ((50, 26, 50, 45), 'arcade.SpriteList', 'arcade.SpriteList', ({}, {}), '()', False, 'import arcade\n'), ((79, 11, 79, 59), 'arcade.Sprite', 'arcade.Sprite', ({(79, 25, 79, 42): '"""gravel_dirt.png"""', (79, 44, 79, 58): 'SPRITE_SCALING'}, {}), "('gravel_dirt.png', SPRITE_SCALING)", False, 'import arcade\n'), ((87, 22, 87, 50), 'arcade.load_texture', 'arcade.load_texture', ({(87, 42, 87, 49): '"""g.png"""'}, {}), "('g.png')", False, 'import arcade\n'), ((94, 18, 94, 47), 'arcade.Sprite', 'arcade.Sprite', ({(94, 32, 94, 41): '"""big.png"""', (94, 42, 94, 46): '0.05'}, {}), "('big.png', 0.05)", False, 'import arcade\n'), ((109, 21, 109, 40), 'arcade.SpriteList', 'arcade.SpriteList', ({}, {}), '()', False, 'import arcade\n'), ((110, 21, 110, 40), 'arcade.SpriteList', 'arcade.SpriteList', ({}, {}), '()', False, 'import arcade\n'), ((111, 21, 111, 40), 'arcade.SpriteList', 'arcade.SpriteList', ({}, {}), '()', False, 'import arcade\n'), ((112, 28, 112, 47), 'arcade.SpriteList', 'arcade.SpriteList', ({}, {}), '()', False, 'import arcade\n'), ((113, 26, 113, 45), 'arcade.SpriteList', 'arcade.SpriteList', ({}, {}), '()', False, 'import arcade\n'), ((136, 11, 136, 58), 'arcade.Sprite', 'arcade.Sprite', ({(136, 25, 136, 41): '"""stone_snow.png"""', (136, 43, 136, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((141, 11, 141, 58), 'arcade.Sprite', 'arcade.Sprite', ({(141, 25, 141, 41): '"""stone_snow.png"""', (141, 43, 141, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((146, 11, 146, 58), 'arcade.Sprite', 'arcade.Sprite', ({(146, 25, 146, 41): '"""stone_snow.png"""', (146, 43, 146, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((151, 11, 151, 58), 'arcade.Sprite', 'arcade.Sprite', ({(151, 25, 151, 41): '"""stone_snow.png"""', (151, 43, 151, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((156, 11, 156, 58), 'arcade.Sprite', 'arcade.Sprite', ({(156, 25, 156, 41): '"""stone_snow.png"""', (156, 43, 156, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((161, 11, 161, 58), 'arcade.Sprite', 'arcade.Sprite', ({(161, 25, 161, 41): '"""stone_snow.png"""', (161, 43, 161, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((166, 11, 166, 58), 'arcade.Sprite', 'arcade.Sprite', ({(166, 25, 166, 41): '"""stone_snow.png"""', (166, 43, 166, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((171, 11, 171, 58), 'arcade.Sprite', 'arcade.Sprite', ({(171, 25, 171, 41): '"""stone_snow.png"""', (171, 43, 171, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((176, 11, 176, 58), 'arcade.Sprite', 'arcade.Sprite', ({(176, 25, 176, 41): '"""stone_snow.png"""', (176, 43, 176, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((181, 11, 181, 58), 'arcade.Sprite', 'arcade.Sprite', ({(181, 25, 181, 41): '"""stone_snow.png"""', (181, 43, 181, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((186, 11, 186, 58), 'arcade.Sprite', 'arcade.Sprite', ({(186, 25, 186, 41): '"""stone_snow.png"""', (186, 43, 186, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((191, 11, 191, 58), 'arcade.Sprite', 'arcade.Sprite', ({(191, 25, 191, 41): '"""stone_snow.png"""', (191, 43, 191, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((196, 11, 196, 58), 'arcade.Sprite', 'arcade.Sprite', ({(196, 25, 196, 41): '"""stone_snow.png"""', (196, 43, 196, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((201, 11, 201, 58), 'arcade.Sprite', 'arcade.Sprite', ({(201, 25, 201, 41): '"""stone_snow.png"""', (201, 43, 201, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((206, 11, 206, 58), 'arcade.Sprite', 'arcade.Sprite', ({(206, 25, 206, 41): '"""stone_snow.png"""', (206, 43, 206, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((211, 11, 211, 58), 'arcade.Sprite', 'arcade.Sprite', ({(211, 25, 211, 41): '"""stone_snow.png"""', (211, 43, 211, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((216, 11, 216, 58), 'arcade.Sprite', 'arcade.Sprite', ({(216, 25, 216, 41): '"""stone_snow.png"""', (216, 43, 216, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((221, 11, 221, 58), 'arcade.Sprite', 'arcade.Sprite', ({(221, 25, 221, 41): '"""stone_snow.png"""', (221, 43, 221, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((226, 11, 226, 58), 'arcade.Sprite', 'arcade.Sprite', ({(226, 25, 226, 41): '"""stone_snow.png"""', (226, 43, 226, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((231, 11, 231, 58), 'arcade.Sprite', 'arcade.Sprite', ({(231, 25, 231, 41): '"""stone_snow.png"""', (231, 43, 231, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((237, 11, 237, 58), 'arcade.Sprite', 'arcade.Sprite', ({(237, 25, 237, 41): '"""stone_snow.png"""', (237, 43, 237, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((242, 11, 242, 58), 'arcade.Sprite', 'arcade.Sprite', ({(242, 25, 242, 41): '"""stone_snow.png"""', (242, 43, 242, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((247, 11, 247, 58), 'arcade.Sprite', 'arcade.Sprite', ({(247, 25, 247, 41): '"""stone_snow.png"""', (247, 43, 247, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((252, 11, 252, 58), 'arcade.Sprite', 'arcade.Sprite', ({(252, 25, 252, 41): '"""stone_snow.png"""', (252, 43, 252, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((257, 11, 257, 58), 'arcade.Sprite', 'arcade.Sprite', ({(257, 25, 257, 41): '"""stone_snow.png"""', (257, 43, 257, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((262, 11, 262, 58), 'arcade.Sprite', 'arcade.Sprite', ({(262, 25, 262, 41): '"""stone_snow.png"""', (262, 43, 262, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((267, 11, 267, 58), 'arcade.Sprite', 'arcade.Sprite', ({(267, 25, 267, 41): '"""stone_snow.png"""', (267, 43, 267, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((272, 11, 272, 58), 'arcade.Sprite', 'arcade.Sprite', ({(272, 25, 272, 41): '"""stone_snow.png"""', (272, 43, 272, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((277, 11, 277, 58), 'arcade.Sprite', 'arcade.Sprite', ({(277, 25, 277, 41): '"""stone_snow.png"""', (277, 43, 277, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((282, 11, 282, 58), 'arcade.Sprite', 'arcade.Sprite', ({(282, 25, 282, 41): '"""stone_snow.png"""', (282, 43, 282, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((287, 11, 287, 58), 'arcade.Sprite', 'arcade.Sprite', ({(287, 25, 287, 41): '"""stone_snow.png"""', (287, 43, 287, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((292, 11, 292, 58), 'arcade.Sprite', 'arcade.Sprite', ({(292, 25, 292, 41): '"""stone_snow.png"""', (292, 43, 292, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((297, 11, 297, 58), 'arcade.Sprite', 'arcade.Sprite', ({(297, 25, 297, 41): '"""stone_snow.png"""', (297, 43, 297, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((303, 11, 303, 58), 'arcade.Sprite', 'arcade.Sprite', ({(303, 25, 303, 41): '"""stone_snow.png"""', (303, 43, 303, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((308, 11, 308, 58), 'arcade.Sprite', 'arcade.Sprite', ({(308, 25, 308, 41): '"""stone_snow.png"""', (308, 43, 308, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((313, 11, 313, 58), 'arcade.Sprite', 'arcade.Sprite', ({(313, 25, 313, 41): '"""stone_snow.png"""', (313, 43, 313, 57): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((317, 22, 317, 50), 'arcade.load_texture', 'arcade.load_texture', ({(317, 42, 317, 49): '"""g.png"""'}, {}), "('g.png')", False, 'import arcade\n'), ((319, 16, 319, 47), 'arcade.Sprite', 'arcade.Sprite', ({(319, 30, 319, 41): '"""small.png"""', (319, 42, 319, 46): '0.05'}, {}), "('small.png', 0.05)", False, 'import arcade\n'), ((508, 4, 508, 16), 'arcade.run', 'arcade.run', ({}, {}), '()', False, 'import arcade\n'), ((89, 15, 89, 51), 'arcade.Sprite', 'arcade.Sprite', ({(89, 29, 89, 39): '"""coin.png"""', (89, 40, 89, 50): 'COIN_SCALE'}, {}), "('coin.png', COIN_SCALE)", False, 'import arcade\n'), ((340, 8, 340, 27), 'os.chdir', 'os.chdir', ({(340, 17, 340, 26): 'file_path'}, {}), '(file_path)', False, 'import os\n'), ((358, 30, 358, 60), 'arcade.AnimatedWalkingSprite', 'arcade.AnimatedWalkingSprite', ({}, {}), '()', False, 'import arcade\n'), ((360, 25, 360, 44), 'arcade.SpriteList', 'arcade.SpriteList', ({}, {}), '()', False, 'import arcade\n'), ((361, 32, 361, 51), 'arcade.SpriteList', 'arcade.SpriteList', ({}, {}), '()', False, 'import arcade\n'), ((362, 30, 362, 49), 'arcade.SpriteList', 'arcade.SpriteList', ({}, {}), '()', False, 'import arcade\n'), ((402, 30, 402, 117), 'arcade.PhysicsEngineSimple', 'arcade.PhysicsEngineSimple', ({(402, 57, 402, 75): 'self.player_sprite', (402, 77, 402, 116): 'self.rooms[self.current_room].wall_list'}, {}), '(self.player_sprite, self.rooms[self.current_room\n    ].wall_list)', False, 'import arcade\n'), ((403, 30, 403, 117), 'arcade.PhysicsEngineSimple', 'arcade.PhysicsEngineSimple', ({(403, 57, 403, 75): 'self.player_sprite', (403, 77, 403, 116): 'self.rooms[self.current_room].door_list'}, {}), '(self.player_sprite, self.rooms[self.current_room\n    ].door_list)', False, 'import arcade\n'), ((414, 8, 414, 29), 'arcade.start_render', 'arcade.start_render', ({}, {}), '()', False, 'import arcade\n'), ((417, 8, 418, 108), 'arcade.draw_texture_rectangle', 'arcade.draw_texture_rectangle', ({(417, 38, 417, 55): '(SCREEN_WIDTH // 2)', (417, 57, 417, 75): '(SCREEN_HEIGHT // 2)', (418, 38, 418, 50): 'SCREEN_WIDTH', (418, 52, 418, 65): 'SCREEN_HEIGHT', (418, 67, 418, 107): 'self.rooms[self.current_room].background'}, {}), '(SCREEN_WIDTH // 2, SCREEN_HEIGHT // 2,\n    SCREEN_WIDTH, SCREEN_HEIGHT, self.rooms[self.current_room].background)', False, 'import arcade\n'), ((431, 8, 431, 64), 'arcade.draw_text', 'arcade.draw_text', ({(431, 25, 431, 31): 'output', (431, 33, 431, 35): '(10)', (431, 37, 431, 39): '(20)', (431, 41, 431, 59): 'arcade.color.WHITE', (431, 61, 431, 63): '(14)'}, {}), '(output, 10, 20, arcade.color.WHITE, 14)', False, 'import arcade\n'), ((475, 19, 475, 115), 'arcade.check_for_collision_with_list', 'arcade.check_for_collision_with_list', ({(475, 56, 475, 74): 'self.player_sprite', (475, 75, 475, 114): 'self.rooms[self.current_room].coin_list'}, {}), '(self.player_sprite, self.rooms[self.\n    current_room].coin_list)', False, 'import arcade\n'), ((476, 20, 476, 121), 'arcade.check_for_collision_with_list', 'arcade.check_for_collision_with_list', ({(476, 57, 476, 75): 'self.player_sprite', (476, 76, 476, 120): 'self.rooms[self.current_room].bigpotion_list'}, {}), '(self.player_sprite, self.rooms[self.\n    current_room].bigpotion_list)', False, 'import arcade\n'), ((477, 20, 477, 123), 'arcade.check_for_collision_with_list', 'arcade.check_for_collision_with_list', ({(477, 57, 477, 75): 'self.player_sprite', (477, 76, 477, 122): 'self.rooms[self.current_room].smallpotion_list'}, {}), '(self.player_sprite, self.rooms[self.\n    current_room].smallpotion_list)', False, 'import arcade\n'), ((55, 19, 55, 67), 'arcade.Sprite', 'arcade.Sprite', ({(55, 33, 55, 50): '"""gravel_dirt.png"""', (55, 52, 55, 66): 'SPRITE_SCALING'}, {}), "('gravel_dirt.png', SPRITE_SCALING)", False, 'import arcade\n'), ((120, 19, 120, 66), 'arcade.Sprite', 'arcade.Sprite', ({(120, 33, 120, 49): '"""stone_snow.png"""', (120, 51, 120, 65): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((339, 36, 339, 61), 'os.path.abspath', 'os.path.abspath', ({(339, 52, 339, 60): '__file__'}, {}), '(__file__)', False, 'import os\n'), ((367, 55, 368, 90), 'arcade.load_texture', 'arcade.load_texture', (), '', False, 'import arcade\n'), ((370, 54, 371, 104), 'arcade.load_texture', 'arcade.load_texture', (), '', False, 'import arcade\n'), ((375, 54, 376, 89), 'arcade.load_texture', 'arcade.load_texture', (), '', False, 'import arcade\n'), ((377, 54, 378, 89), 'arcade.load_texture', 'arcade.load_texture', (), '', False, 'import arcade\n'), ((382, 53, 383, 103), 'arcade.load_texture', 'arcade.load_texture', (), '', False, 'import arcade\n'), ((384, 53, 385, 103), 'arcade.load_texture', 'arcade.load_texture', (), '', False, 'import arcade\n'), ((467, 34, 468, 101), 'arcade.PhysicsEngineSimple', 'arcade.PhysicsEngineSimple', ({(467, 61, 467, 79): 'self.player_sprite', (468, 61, 468, 100): 'self.rooms[self.current_room].wall_list'}, {}), '(self.player_sprite, self.rooms[self.current_room\n    ].wall_list)', False, 'import arcade\n'), ((482, 23, 482, 57), 'arcade.load_sound', 'arcade.load_sound', ({(482, 41, 482, 56): '"""coinsound.wav"""'}, {}), "('coinsound.wav')", False, 'import arcade\n'), ((483, 12, 483, 39), 'arcade.play_sound', 'arcade.play_sound', ({(483, 30, 483, 38): 'my_sound'}, {}), '(my_sound)', False, 'import arcade\n'), ((493, 23, 493, 54), 'arcade.load_sound', 'arcade.load_sound', ({(493, 41, 493, 53): '"""shrink.wav"""'}, {}), "('shrink.wav')", False, 'import arcade\n'), ((494, 12, 494, 39), 'arcade.play_sound', 'arcade.play_sound', ({(494, 30, 494, 38): 'tu_sound'}, {}), '(tu_sound)', False, 'import arcade\n'), ((499, 23, 499, 52), 'arcade.load_sound', 'arcade.load_sound', ({(499, 41, 499, 51): '"""grow.wav"""'}, {}), "('grow.wav')", False, 'import arcade\n'), ((500, 12, 500, 39), 'arcade.play_sound', 'arcade.play_sound', ({(500, 30, 500, 38): 'yo_sound'}, {}), '(yo_sound)', False, 'import arcade\n'), ((66, 23, 66, 71), 'arcade.Sprite', 'arcade.Sprite', ({(66, 37, 66, 54): '"""gravel_dirt.png"""', (66, 56, 66, 70): 'SPRITE_SCALING'}, {}), "('gravel_dirt.png', SPRITE_SCALING)", False, 'import arcade\n'), ((74, 23, 74, 65), 'arcade.Sprite', 'arcade.Sprite', ({(74, 37, 74, 48): '"""fence.png"""', (74, 50, 74, 64): 'SPRITE_SCALING'}, {}), "('fence.png', SPRITE_SCALING)", False, 'import arcade\n'), ((131, 23, 131, 70), 'arcade.Sprite', 'arcade.Sprite', ({(131, 37, 131, 53): '"""stone_snow.png"""', (131, 55, 131, 69): 'SPRITE_SCALING'}, {}), "('stone_snow.png', SPRITE_SCALING)", False, 'import arcade\n'), ((472, 34, 473, 101), 'arcade.PhysicsEngineSimple', 'arcade.PhysicsEngineSimple', ({(472, 61, 472, 79): 'self.player_sprite', (473, 61, 473, 100): 'self.rooms[self.current_room].wall_list'}, {}), '(self.player_sprite, self.rooms[self.current_room\n    ].wall_list)', False, 'import arcade\n'), ((487, 29, 487, 58), 'arcade.load_sound', 'arcade.load_sound', ({(487, 47, 487, 57): '"""door.wav"""'}, {}), "('door.wav')", False, 'import arcade\n'), ((488, 16, 488, 45), 'arcade.play_sound', 'arcade.play_sound', ({(488, 34, 488, 44): 'your_sound'}, {}), '(your_sound)', False, 'import arcade\n')]