def test_one_vs_one(self): SystemManager.get_instance().init([BattleSystem()]) player_one = Player(0, 0, 0, 'player one', None) player_two = Player(0, 0, 0, 'player two', None) p1 = Pokemon(player_one) p2 = Pokemon(player_two) p3 = Pokemon(player_one) p4 = Pokemon(player_two) team_a_settings = {'lineups': [[p1, p3]], 'size': 1} team_b_settings = {'lineups': [[p2, p4]], 'size': 1} battle = Battle(team_a_settings, team_b_settings, [player_one, player_two]) battle.accept_move(player_one, Move(p1, p2, damage=50)) battle.accept_move(player_two, Move(p2, p1, damage=50)) battle.accept_move(player_one, Move(p1, p2, damage=50)) battle.accept_move(player_two, Move(p2, p1, damage=50)) battle.accept_move(player_two, Move(p4, None, move_type=0)) battle.accept_move(player_two, Move(p4, p1, damage=50)) battle.accept_move(player_one, Move(p1, p4, damage=100)) battle.accept_move(player_one, Move(p3, None, move_type=0)) battle.accept_move(player_two, Move(p4, p3, damage=100)) battle.accept_move(player_one, Move(p3, p4, damage=100)) self.assertTrue(battle.team_a.is_defeated())
def test_two_vs_two(self): SystemManager.get_instance().init([ BattleSystem() ]) player_one = Player(0, 0, 0, 'player one', None) player_two = Player(0, 0, 0, 'player two', None) player_three = Player(0, 0, 0, 'player three', None) player_four = Player(0, 0, 0, 'player four', None) p1 = Pokemon(player_one) p2 = Pokemon(player_two) p3 = Pokemon(player_three) p4 = Pokemon(player_four) p5 = Pokemon(player_three) team_a_settings = { 'lineups': [[p1], [p2]], 'size': 2 } team_b_settings = { 'lineups': [[p3, p5], [p4]], 'size': 2 } battle = Battle( team_a_settings, team_b_settings, [player_one, player_two, player_three, player_four] ) battle.accept_move(player_one, Move(p1, p3, damage=50)) battle.accept_move(player_two, Move(p2, p3, damage=50)) battle.accept_move(player_three, Move(p3, p2, damage=50)) battle.accept_move(player_four, Move(p4, p1, damage=50)) battle.accept_move(player_three, Move(p5, None, move_type=0)) battle.accept_move(player_one, Move(p1, p4, damage=50)) battle.accept_move(player_two, Move(p2, p4, damage=50)) battle.accept_move(player_four, Move(p4, p1, damage=50)) battle.accept_move(player_three, Move(p5, p1, damage=50)) battle.accept_move(player_two, Move(p2, p5, damage=100)) battle.accept_move(player_three, Move(p5, p2, damage=100)) self.assertTrue(battle.team_b.is_defeated())
class Player(Entity): system_manager = SystemManager.get_instance() def __init__(self, x, y, orientation, username, connection): super(Player, self).__init__() self.x, self.y = x, y self.orientation = orientation self.username = username self.lineup = [Pokemon(self)] self.add_components( [PlayerReplicationComponent(self), NetworkComponent(connection)]) self.system_manager.send_message({ 'message_type': MESSAGE_TYPE.CREATE_ENTITY, 'entity_type': 'player', 'entity': self }) def __str__(self): return '<Player {}>'.format(self.id) def move(self, x, y): self.x, self.y = x, y def get_position(self): return (self.x, self.y)
def __init__(self): self.users = {} self.username_to_id = {} self.zone = [[None for i in range(self.LEVEL_DIMENSION)] for j in range(self.LEVEL_DIMENSION)] self.system_manager = SystemManager.get_instance() self.system_manager.init([ ReplicationSystem(), BattleSystem() ])
class Pokemon(Entity): system_manager = SystemManager.get_instance() def __init__(self, owner): super(Pokemon, self).__init__() self.type = 0 self.health = 100 self.owner = owner def __str__(self): return '<Pokemon {}>'.format(self.id)
def set_up_systems(): system_manager = SystemManager.get_instance() movement_system = MovementSystem(AStarPlanner()) render_system = RenderSystem(800, 600) system_manager.init([ movement_system, render_system, ]) return system_manager
def set_up_systems(): system_manager = SystemManager.get_instance() system_manager.init([ InputSystem(), PhysicsSystem(), ProjectileSystem(), ReaperSystem.get_instance(), RenderSystem(settings.SCREEN_WIDTH, settings.SCREEN_HEIGHT), ]) return system_manager
def set_up_systems(): system_manager = SystemManager.get_instance() movement_system = MovementSystem(AStarPlanner()) render_system = RenderSystem(800, 600) system_manager.init( [ movement_system, render_system, ] ) return system_manager
def test_one_vs_one(self): SystemManager.get_instance().init([ BattleSystem() ]) player_one = Player(0, 0, 0, 'player one', None) player_two = Player(0, 0, 0, 'player two', None) p1 = Pokemon(player_one) p2 = Pokemon(player_two) p3 = Pokemon(player_one) p4 = Pokemon(player_two) team_a_settings = { 'lineups': [[p1, p3]], 'size': 1 } team_b_settings = { 'lineups': [[p2, p4]], 'size': 1 } battle = Battle(team_a_settings, team_b_settings, [player_one, player_two]) battle.accept_move(player_one, Move(p1, p2, damage=50)) battle.accept_move(player_two, Move(p2, p1, damage=50)) battle.accept_move(player_one, Move(p1, p2, damage=50)) battle.accept_move(player_two, Move(p2, p1, damage=50)) battle.accept_move(player_two, Move(p4, None, move_type=0)) battle.accept_move(player_two, Move(p4, p1, damage=50)) battle.accept_move(player_one, Move(p1, p4, damage=100)) battle.accept_move(player_one, Move(p3, None, move_type=0)) battle.accept_move(player_two, Move(p4, p3, damage=100)) battle.accept_move(player_one, Move(p3, p4, damage=100)) self.assertTrue(battle.team_a.is_defeated())
def test_two_vs_two(self): SystemManager.get_instance().init([BattleSystem()]) player_one = Player(0, 0, 0, 'player one', None) player_two = Player(0, 0, 0, 'player two', None) player_three = Player(0, 0, 0, 'player three', None) player_four = Player(0, 0, 0, 'player four', None) p1 = Pokemon(player_one) p2 = Pokemon(player_two) p3 = Pokemon(player_three) p4 = Pokemon(player_four) p5 = Pokemon(player_three) team_a_settings = {'lineups': [[p1], [p2]], 'size': 2} team_b_settings = {'lineups': [[p3, p5], [p4]], 'size': 2} battle = Battle(team_a_settings, team_b_settings, [player_one, player_two, player_three, player_four]) battle.accept_move(player_one, Move(p1, p3, damage=50)) battle.accept_move(player_two, Move(p2, p3, damage=50)) battle.accept_move(player_three, Move(p3, p2, damage=50)) battle.accept_move(player_four, Move(p4, p1, damage=50)) battle.accept_move(player_three, Move(p5, None, move_type=0)) battle.accept_move(player_one, Move(p1, p4, damage=50)) battle.accept_move(player_two, Move(p2, p4, damage=50)) battle.accept_move(player_four, Move(p4, p1, damage=50)) battle.accept_move(player_three, Move(p5, p1, damage=50)) battle.accept_move(player_two, Move(p2, p5, damage=100)) battle.accept_move(player_three, Move(p5, p2, damage=100)) self.assertTrue(battle.team_b.is_defeated())
class Queen(AntBase): system_manager = SystemManager.get_instance() def __init__(self): super(Queen, self).__init__([ ReproductionComponent(), MovementComponent(speed=150), SpriteRenderComponent(self, 'mite.png', 64, 64), ]) self.position = Vec2d(0, 0) Queen.system_manager.send_message({ 'message_type': MESSAGE_TYPE.CREATE_ENTITY, 'entity_type': 'queen', 'entity': self })
class Obstacle(AntBase): system_manager = SystemManager.get_instance() def __init__(self, position, x_range, y_range, max_points): self.position = position.copy() shape_component = ShapeComponent(self, x_range, y_range, max_points) super(Obstacle, self).__init__([ shape_component, ShapeRenderComponent(shape_component), ]) Obstacle.system_manager.send_message({ 'message_type': MESSAGE_TYPE.CREATE_ENTITY, 'entity_type': ENTITY_TYPE.OBSTACLE, 'entity': self })