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()