def room_logic(player):
    if (ceil(player.player_sprite.center_x) in range(1000, 1080) and
            ceil(player.player_sprite.center_y) in range(660, 676) and
            player.current_room == 0):
        player.current_room = 2
        player.physics_engine = arcade.PhysicsEngineSimple((player.
                                                            player_sprite),
                                                           (player.rooms
                                                           [player.
                                                            current_room].
                                                            wall_list))
        player.player_sprite.center_x = 383.6
        player.player_sprite.center_y = 40
    elif player.player_sprite.center_y < 35 and player.current_room == 1:
        player.current_room = 0
        player.physics_engine = arcade.PhysicsEngineSimple((player.
                                                            player_sprite),
                                                           (player.rooms
                                                            [player.
                                                             current_room].
                                                            wall_list))
        player.player_sprite.center_x = 240
        player.player_sprite.center_y = 656
    elif player.player_sprite.center_y > 1250 and player.current_room == 0:
        player.current_room = 3
        player.physics_engine = arcade.PhysicsEngineSimple((player.
                                                            player_sprite),
                                                           (player.rooms
                                                            [player.
                                                             current_room].
                                                            wall_list))
        player.player_sprite.center_y = 30
    elif player.player_sprite.center_x > 1500 and player.current_room == 3:
        player.current_room = 4
        player.physics_engine = arcade.PhysicsEngineSimple((player.
                                                            player_sprite),
                                                           (player.rooms
                                                            [player.
                                                             current_room].
                                                            wall_list))
        player.player_sprite.center_x = 30
    elif (ceil(player.player_sprite.center_x) in range(200, 285) and
          ceil(player.player_sprite.center_y) in range(660, 676) and
          player.current_room == 0):
        player.current_room = 1
        player.physics_engine = arcade.PhysicsEngineSimple((player.
                                                            player_sprite),
                                                           (player.rooms
                                                            [player.
                                                             current_room].
                                                            wall_list))
        player.player_sprite.center_x = 383.6
        player.player_sprite.center_y = 40
    elif player.player_sprite.center_y < 35 and player.current_room == 2:
        player.current_room = 0
        player.physics_engine = arcade.PhysicsEngineSimple((player.
                                                            player_sprite),
                                                           (player.rooms
                                                            [player.
                                                             current_room].
                                                            wall_list))
        player.player_sprite.center_x = 1040
        player.player_sprite.center_y = 656
    elif (ceil(player.player_sprite.center_x) in range(1100, 1180) and
          ceil(player.player_sprite.center_y) in range(660, 676) and
          player.current_room == 4):
        player.current_room = 5
        player.physics_engine = arcade.PhysicsEngineSimple((player.
                                                            player_sprite),
                                                           (player.rooms
                                                            [player.
                                                             current_room].
                                                            wall_list))
        player.player_sprite.center_x = 383.6
        player.player_sprite.center_y = 40
    elif (ceil(player.player_sprite.center_x) in range(180, 270) and
          ceil(player.player_sprite.center_y) in range(660, 676) and
          player.current_room == 4):
        player.current_room = 6
        player.physics_engine = arcade.PhysicsEngineSimple((player.
                                                            player_sprite),
                                                           (player.rooms
                                                            [player.
                                                             current_room].
                                                            wall_list))
        player.player_sprite.center_x = 383.6
        player.player_sprite.center_y = 40
    elif player.player_sprite.center_y < 35 and player.current_room == 5:
        player.current_room = 4
        player.physics_engine = arcade.PhysicsEngineSimple((player.
                                                            player_sprite),
                                                           (player.rooms
                                                            [player.
                                                             current_room].
                                                            wall_list))
        player.player_sprite.center_x = 1140
        player.player_sprite.center_y = 656
    elif player.player_sprite.center_y < 35 and player.current_room == 6:
        player.current_room = 4
        player.physics_engine = arcade.PhysicsEngineSimple((player.
                                                            player_sprite),
                                                           (player.rooms
                                                            [player.
                                                             current_room].
                                                            wall_list))
        player.player_sprite.center_x = 240
        player.player_sprite.center_y = 656
    elif player.player_sprite.center_y < 20 and player.current_room == 3:
        player.current_room = 0
        player.physics_engine = arcade.PhysicsEngineSimple((player.
                                                            player_sprite),
                                                           (player.rooms
                                                            [player.
                                                             current_room].
                                                            wall_list))
        player.player_sprite.center_y = ((screen_height * 2) - sprite_size)
    elif player.player_sprite.center_x < 20 and player.current_room == 4:
        player.current_room = 3
        player.physics_engine = arcade.PhysicsEngineSimple((player.
                                                            player_sprite),
                                                           (player.rooms
                                                            [player.
                                                             current_room].
                                                            wall_list))
        player.player_sprite.center_x = ((screen_width * 2) - sprite_size)

    if player.current_room == 3:
        grass_hit = arcade.check_for_collision_with_list(player.player_sprite,
                                                         player.rooms
                                                         [player.current_room].
                                                         grass_list)
        if len(grass_hit) > 0:
            encounter = random.randint(0, 69)
            if encounter == 1 and not player.player_sprite.defeated():
                print("pokemon")
                battle.wild_encounter(player)
    elif player.current_room == 5:
        for enemy in player.rooms[player.current_room].enemy_list:
            if not player.player_sprite.defeated():
                enemy.see_player(player, player.player_sprite)
        if (player.act_pressed and
            64 < player.player_sprite.center_x < 128
            and 1152 < player.player_sprite.center_y < 1216):
            print("gained item")
            for bag in player.player_sprite.item_bag:
                for item in bag:
                    item.amount += 1
    elif player.current_room == 2:
        if (len(player.rooms[player.current_room].pokeball) == 1
                and player.act_pressed and
                280 < player.player_sprite.center_x < 490
                and 286 < player.player_sprite.center_y < 350):
            poke_list = [Pokemon.Charmander(), Pokemon.Squirtle(),
                         Pokemon.Bulbasaur(), Pokemon.Magikarp()]
            for poke in poke_list:
                poke.addlevel(4)
                player.player_sprite.pokemon.append(poke)
            player.rooms[player.current_room].pokeball = arcade.SpriteList()
def gym():
    room = Room()

    room.wall_list = arcade.SpriteList()
    room.enemy_list = arcade.SpriteList()

    for x in (0, (screen_width * 2) - sprite_size):
        for y in range(0, (screen_height * 2), sprite_size):
            wall = arcade.Sprite("images/boxCrate_double.png", sprite_scale)
            wall.left = x
            wall.bottom = y
            room.wall_list.append(wall)

    for y in (0, (screen_height * 2) - sprite_size):
        for x in range(0, (screen_width * 2), sprite_size):
            if (x != sprite_size * 5 and x != sprite_size * 6) or y != 0:
                wall = arcade.Sprite("images/boxCrate_double.png",
                                     sprite_scale)
                wall.left = x
                wall.bottom = y
                room.wall_list.append(wall)

    for x in range(sprite_size*2, (screen_width*2)-(sprite_size*6), sprite_size):
        wall = arcade.Sprite("images/boxCrate_double.png",
                             sprite_scale)
        wall.left = x
        wall.bottom = sprite_size*6
        room.wall_list.append(wall)

    for y in range(sprite_size*7, (screen_height*2)-(sprite_size*5),
                   sprite_size):
        wall = arcade.Sprite("images/boxCrate_double.png",
                             sprite_scale)
        wall.left = sprite_size*17
        wall.bottom = y
        room.wall_list.append(wall)

    for y in range(sprite_size*7, (screen_height*2)-sprite_size, sprite_size):
        wall = arcade.Sprite("images/boxCrate_double.png",
                             sprite_scale)
        wall.left = sprite_size*7
        wall.bottom = y
        room.wall_list.append(wall)

    wall = battle.Enemy(False, [])
    wall.texture = arcade.load_texture("images/boxCrate_double.png", scale=sprite_scale)
    wall.left = sprite_size
    wall.bottom = sprite_size*6
    room.enemy_list.append(wall)

    loc = [[3, 3, 1], [8, 1, 0], [13, 5, 2], [18, 1, 0], [18, 6, 1],
           [22, 10, 3], [18, 14, 1], [17, 18, 2], [16, 14, 3]]
    for i in range(len(loc)):
        poke_list = []
        for j in range(2):
            poke = Pokemon.Magikarp()
            poke.addlevel(5*(i+1)+j)
            poke_list.append(poke)
        enemy = battle.Enemy(False, poke_list, loc[i][2], False)
        enemy.left = loc[i][0]*64
        enemy.bottom = loc[i][1]*64
        room.enemy_list.append(enemy)

    poke_list = []
    for i in range(6):
        poke = Pokemon.Magikarp()
        poke.addlevel(50+i)
        poke_list.append(poke)
    boss = battle.Enemy(False, poke_list, 0, True)
    boss.center_x = screen_width
    boss.center_y = screen_height
    room.enemy_list.append(boss)

    room.background = arcade.load_texture("images/home_floor.jpg")

    return room