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, 'arcade.SpriteList', 'arcade.SpriteList', ([], {}), False, 'import arcade\n'), (46, 'arcade.SpriteList', 'arcade.SpriteList', ([], {}), False, 'import arcade\n'), (47, 'arcade.SpriteList', 'arcade.SpriteList', ([], {}), False, 'import arcade\n'), (49, 'arcade.SpriteList', 'arcade.SpriteList', ([], {}), False, 'import arcade\n'), (50, 'arcade.SpriteList', 'arcade.SpriteList', ([], {}), False, 'import arcade\n'), (79, 'arcade.Sprite', 'arcade.Sprite', (['"""gravel_dirt.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (87, 'arcade.load_texture', 'arcade.load_texture', (['"""g.png"""'], {}), False, 'import arcade\n'), (94, 'arcade.Sprite', 'arcade.Sprite', (['"""big.png"""', '(0.05)'], {}), False, 'import arcade\n'), (109, 'arcade.SpriteList', 'arcade.SpriteList', ([], {}), False, 'import arcade\n'), (110, 'arcade.SpriteList', 'arcade.SpriteList', ([], {}), False, 'import arcade\n'), (111, 'arcade.SpriteList', 'arcade.SpriteList', ([], {}), False, 'import arcade\n'), (112, 'arcade.SpriteList', 'arcade.SpriteList', ([], {}), False, 'import arcade\n'), (113, 'arcade.SpriteList', 'arcade.SpriteList', ([], {}), False, 'import arcade\n'), (136, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (141, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (146, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (151, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (156, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (161, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (166, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (171, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (176, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (181, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (186, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (191, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (196, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (201, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (206, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (211, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (216, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (221, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (226, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (231, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (237, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (242, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (247, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (252, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (257, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (262, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (267, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (272, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (277, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (282, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (287, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (292, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (297, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (303, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (308, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (313, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (317, 'arcade.load_texture', 'arcade.load_texture', (['"""g.png"""'], {}), False, 'import arcade\n'), (319, 'arcade.Sprite', 'arcade.Sprite', (['"""small.png"""', '(0.05)'], {}), False, 'import arcade\n'), (508, 'arcade.run', 'arcade.run', ([], {}), False, 'import arcade\n'), (89, 'arcade.Sprite', 'arcade.Sprite', (['"""coin.png"""', 'COIN_SCALE'], {}), False, 'import arcade\n'), (340, 'os.chdir', 'os.chdir', (['file_path'], {}), False, 'import os\n'), (358, 'arcade.AnimatedWalkingSprite', 'arcade.AnimatedWalkingSprite', ([], {}), False, 'import arcade\n'), (360, 'arcade.SpriteList', 'arcade.SpriteList', ([], {}), False, 'import arcade\n'), (361, 'arcade.SpriteList', 'arcade.SpriteList', ([], {}), False, 'import arcade\n'), (362, 'arcade.SpriteList', 'arcade.SpriteList', ([], {}), False, 'import arcade\n'), (402, 'arcade.PhysicsEngineSimple', 'arcade.PhysicsEngineSimple', (['self.player_sprite', 'self.rooms[self.current_room].wall_list'], {}), False, 'import arcade\n'), (403, 'arcade.PhysicsEngineSimple', 'arcade.PhysicsEngineSimple', (['self.player_sprite', 'self.rooms[self.current_room].door_list'], {}), False, 'import arcade\n'), (414, 'arcade.start_render', 'arcade.start_render', ([], {}), False, 'import arcade\n'), (417, 'arcade.draw_texture_rectangle', 'arcade.draw_texture_rectangle', (['(SCREEN_WIDTH // 2)', '(SCREEN_HEIGHT // 2)', 'SCREEN_WIDTH', 'SCREEN_HEIGHT', 'self.rooms[self.current_room].background'], {}), False, 'import arcade\n'), (431, 'arcade.draw_text', 'arcade.draw_text', (['output', '(10)', '(20)', 'arcade.color.WHITE', '(14)'], {}), False, 'import arcade\n'), (475, 'arcade.check_for_collision_with_list', 'arcade.check_for_collision_with_list', (['self.player_sprite', 'self.rooms[self.current_room].coin_list'], {}), False, 'import arcade\n'), (476, 'arcade.check_for_collision_with_list', 'arcade.check_for_collision_with_list', (['self.player_sprite', 'self.rooms[self.current_room].bigpotion_list'], {}), False, 'import arcade\n'), (477, 'arcade.check_for_collision_with_list', 'arcade.check_for_collision_with_list', (['self.player_sprite', 'self.rooms[self.current_room].smallpotion_list'], {}), False, 'import arcade\n'), (55, 'arcade.Sprite', 'arcade.Sprite', (['"""gravel_dirt.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (120, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (339, 'os.path.abspath', 'os.path.abspath', (['__file__'], {}), False, 'import os\n'), (367, 'arcade.load_texture', 'arcade.load_texture', (['"""zombie_stand.png"""'], {'scale': 'character_scale'}), False, 'import arcade\n'), (370, 'arcade.load_texture', 'arcade.load_texture', (['"""zombie_stand.png"""'], {'scale': 'character_scale', 'mirrored': '(True)'}), False, 'import arcade\n'), (375, 'arcade.load_texture', 'arcade.load_texture', (['"""zombie_walk1.png"""'], {'scale': 'character_scale'}), False, 'import arcade\n'), (377, 'arcade.load_texture', 'arcade.load_texture', (['"""zombie_walk2.png"""'], {'scale': 'character_scale'}), False, 'import arcade\n'), (382, 'arcade.load_texture', 'arcade.load_texture', (['"""zombie_walk1.png"""'], {'scale': 'character_scale', 'mirrored': '(True)'}), False, 'import arcade\n'), (384, 'arcade.load_texture', 'arcade.load_texture', (['"""zombie_walk2.png"""'], {'scale': 'character_scale', 'mirrored': '(True)'}), False, 'import arcade\n'), (467, 'arcade.PhysicsEngineSimple', 'arcade.PhysicsEngineSimple', (['self.player_sprite', 'self.rooms[self.current_room].wall_list'], {}), False, 'import arcade\n'), (482, 'arcade.load_sound', 'arcade.load_sound', (['"""coinsound.wav"""'], {}), False, 'import arcade\n'), (483, 'arcade.play_sound', 'arcade.play_sound', (['my_sound'], {}), False, 'import arcade\n'), (493, 'arcade.load_sound', 'arcade.load_sound', (['"""shrink.wav"""'], {}), False, 'import arcade\n'), (494, 'arcade.play_sound', 'arcade.play_sound', (['tu_sound'], {}), False, 'import arcade\n'), (499, 'arcade.load_sound', 'arcade.load_sound', (['"""grow.wav"""'], {}), False, 'import arcade\n'), (500, 'arcade.play_sound', 'arcade.play_sound', (['yo_sound'], {}), False, 'import arcade\n'), (66, 'arcade.Sprite', 'arcade.Sprite', (['"""gravel_dirt.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (74, 'arcade.Sprite', 'arcade.Sprite', (['"""fence.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (131, 'arcade.Sprite', 'arcade.Sprite', (['"""stone_snow.png"""', 'SPRITE_SCALING'], {}), False, 'import arcade\n'), (472, 'arcade.PhysicsEngineSimple', 'arcade.PhysicsEngineSimple', (['self.player_sprite', 'self.rooms[self.current_room].wall_list'], {}), False, 'import arcade\n'), (487, 'arcade.load_sound', 'arcade.load_sound', (['"""door.wav"""'], {}), False, 'import arcade\n'), (488, 'arcade.play_sound', 'arcade.play_sound', (['your_sound'], {}), False, 'import arcade\n')]