Exemplo n.º 1
0
    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())
Exemplo n.º 2
0
    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())
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
 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()
     ])
Exemplo n.º 5
0
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)
Exemplo n.º 6
0
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
Exemplo n.º 7
0
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
Exemplo n.º 8
0
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
Exemplo n.º 9
0
    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())
Exemplo n.º 10
0
    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())
Exemplo n.º 11
0
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
        })
Exemplo n.º 12
0
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
        })