class StrategyOnePlayerDuel:

    def __init__(self, tank, world, memory, debug_on):
        self.strategy = StrategyScalarField(
            tank,
            world,
            [BasicPositionGetter(), GridPositionGetter(7, 5)],
            [
                BonusPositionEstimator(factor=1.2),
                LastTargetEstimator(400),
                TimeToPositionEstimator(2),
                DuelPositionEstimator(1000),
                TurretsDangerEstimator(),
                FlyingShellEstimator(2000),
                EdgePenaltyEstimator(1000, 120),
                AddConstantEstimator(3000)
            ],
            memory,
            debug_on
        )

    def change_state(self, *args, **kwargs):
        return self.strategy.change_state(*args, **kwargs)

    def make_turn(self, move):
        return self.strategy.make_turn(move)
class StrategyOnePlayer5Enemies:

    def __init__(self, tank, world, memory, debug_on):
        self.strategy = StrategyScalarField(
            tank,
            world,
            [BasicPositionGetter(), BorderPositionGetter(7, 5, 80), GridPositionGetter(2, 2)],
            [
                BonusPositionEstimator(factor=1.2),
                LastTargetEstimator(150),
                TimeToPositionEstimator(4),
                PositionalPowerDangerEstimator(0.35, 9000),
                HideBehindEstimator(5000),
                TurretsDangerEstimator(),
                FlyingShellEstimator(2000),
                EdgePenaltyEstimator(1000, 50),
            ],
            memory,
            debug_on
        )

    def change_state(self, *args, **kwargs):
        return self.strategy.change_state(*args, **kwargs)

    def make_turn(self, move):
        return self.strategy.make_turn(move)
class StrategySecondRound2Enemies:

    def __init__(self, tank, world, memory, debug_on):
        self.strategy = StrategyScalarField(
            tank,
            world,
            [BasicPositionGetter(), GridPositionGetter(7, 5)],
            [
                BonusPositionEstimator(factor=1.4, ammo_crate=800, repair_max=1100),
                LastTargetEstimator(400),
                TimeToPositionEstimator(2),
                PositionalPowerDangerEstimator(0.35, 4000),
                TurretsDangerEstimator(),
                FlyingShellEstimator(2000),
                EdgePenaltyEstimator(1000, 100),
                Distance2PEstimator(400, 200, 700, 200, 1000),
                AddConstantEstimator(3000),
                ],
            memory,
            debug_on
        )

    def change_state(self, *args, **kwargs):
        return self.strategy.change_state(*args, **kwargs)

    def make_turn(self, move):
        return self.strategy.make_turn(move)
Esempio n. 4
0
 def __init__(self, tank, world, memory, debug_on):
     self.strategy = StrategyScalarField(
         tank, world, [BasicPositionGetter(),
                       GridPositionGetter(7, 5)], [
                           BonusPositionEstimator(factor=1.2),
                           LastTargetEstimator(400),
                           TimeToPositionEstimator(2),
                           DuelPositionEstimator(1000),
                           TurretsDangerEstimator(),
                           FlyingShellEstimator(2000),
                           EdgePenaltyEstimator(1000, 120),
                           AddConstantEstimator(3000)
                       ], memory, debug_on)
Esempio n. 5
0
 def __init__(self, tank, world, memory, debug_on):
     self.strategy = StrategyScalarField(
         tank, world, [BasicPositionGetter(),
                       GridPositionGetter(7, 5)], [
                           BonusPositionEstimator(
                               factor=1.4, ammo_crate=800, repair_max=1100),
                           LastTargetEstimator(400),
                           TimeToPositionEstimator(2),
                           PositionalPowerDangerEstimator(0.35, 4000),
                           TurretsDangerEstimator(),
                           FlyingShellEstimator(2000),
                           EdgePenaltyEstimator(1000, 100),
                           Distance2PEstimator(400, 200, 700, 200, 1000),
                           AddConstantEstimator(3000),
                       ], memory, debug_on)
Esempio n. 6
0
 def __init__(self, tank, world, memory, debug_on):
     self.strategy = StrategyScalarField(tank, world, [
         BasicPositionGetter(),
         BorderPositionGetter(7, 5, 80),
         GridPositionGetter(2, 2)
     ], [
         BonusPositionEstimator(factor=1.2),
         LastTargetEstimator(150),
         TimeToPositionEstimator(4),
         PositionalPowerDangerEstimator(0.35, 9000),
         HideBehindEstimator(5000),
         TurretsDangerEstimator(),
         FlyingShellEstimator(2000),
         EdgePenaltyEstimator(1000, 50),
     ], memory, debug_on)
Esempio n. 7
0
class StrategyOnePlayerDuel:
    def __init__(self, tank, world, memory, debug_on):
        self.strategy = StrategyScalarField(
            tank, world, [BasicPositionGetter(),
                          GridPositionGetter(7, 5)], [
                              BonusPositionEstimator(factor=1.2),
                              LastTargetEstimator(400),
                              TimeToPositionEstimator(2),
                              DuelPositionEstimator(1000),
                              TurretsDangerEstimator(),
                              FlyingShellEstimator(2000),
                              EdgePenaltyEstimator(1000, 120),
                              AddConstantEstimator(3000)
                          ], memory, debug_on)

    def change_state(self, *args, **kwargs):
        return self.strategy.change_state(*args, **kwargs)

    def make_turn(self, move):
        return self.strategy.make_turn(move)
Esempio n. 8
0
class StrategySecondRound2Enemies:
    def __init__(self, tank, world, memory, debug_on):
        self.strategy = StrategyScalarField(
            tank, world, [BasicPositionGetter(),
                          GridPositionGetter(7, 5)], [
                              BonusPositionEstimator(
                                  factor=1.4, ammo_crate=800, repair_max=1100),
                              LastTargetEstimator(400),
                              TimeToPositionEstimator(2),
                              PositionalPowerDangerEstimator(0.35, 4000),
                              TurretsDangerEstimator(),
                              FlyingShellEstimator(2000),
                              EdgePenaltyEstimator(1000, 100),
                              Distance2PEstimator(400, 200, 700, 200, 1000),
                              AddConstantEstimator(3000),
                          ], memory, debug_on)

    def change_state(self, *args, **kwargs):
        return self.strategy.change_state(*args, **kwargs)

    def make_turn(self, move):
        return self.strategy.make_turn(move)
Esempio n. 9
0
class StrategyOnePlayer5Enemies:
    def __init__(self, tank, world, memory, debug_on):
        self.strategy = StrategyScalarField(tank, world, [
            BasicPositionGetter(),
            BorderPositionGetter(7, 5, 80),
            GridPositionGetter(2, 2)
        ], [
            BonusPositionEstimator(factor=1.2),
            LastTargetEstimator(150),
            TimeToPositionEstimator(4),
            PositionalPowerDangerEstimator(0.35, 9000),
            HideBehindEstimator(5000),
            TurretsDangerEstimator(),
            FlyingShellEstimator(2000),
            EdgePenaltyEstimator(1000, 50),
        ], memory, debug_on)

    def change_state(self, *args, **kwargs):
        return self.strategy.change_state(*args, **kwargs)

    def make_turn(self, move):
        return self.strategy.make_turn(move)
 def __init__(self, tank, world, memory, debug_on):
     self.strategy = StrategyScalarField(
         tank,
         world,
         [BasicPositionGetter(), BorderPositionGetter(7, 5, 80), GridPositionGetter(2, 2)],
         [
             BonusPositionEstimator(factor=1.2),
             LastTargetEstimator(150),
             TimeToPositionEstimator(4),
             PositionalPowerDangerEstimator(0.35, 9000),
             HideBehindEstimator(5000),
             TurretsDangerEstimator(),
             FlyingShellEstimator(2000),
             EdgePenaltyEstimator(1000, 50),
         ],
         memory,
         debug_on
     )
 def __init__(self, tank, world, memory, debug_on):
     self.strategy = StrategyScalarField(
         tank,
         world,
         [BasicPositionGetter(), GridPositionGetter(7, 5)],
         [
             BonusPositionEstimator(factor=1.2),
             LastTargetEstimator(400),
             TimeToPositionEstimator(2),
             DuelPositionEstimator(1000),
             TurretsDangerEstimator(),
             FlyingShellEstimator(2000),
             EdgePenaltyEstimator(1000, 120),
             AddConstantEstimator(3000)
         ],
         memory,
         debug_on
     )
 def __init__(self, tank, world, memory, debug_on):
     self.strategy = StrategyScalarField(
         tank,
         world,
         [BasicPositionGetter(), GridPositionGetter(7, 5)],
         [
             BonusPositionEstimator(factor=1.4, ammo_crate=800, repair_max=1100),
             LastTargetEstimator(400),
             TimeToPositionEstimator(2),
             PositionalPowerDangerEstimator(0.35, 4000),
             TurretsDangerEstimator(),
             FlyingShellEstimator(2000),
             EdgePenaltyEstimator(1000, 100),
             Distance2PEstimator(400, 200, 700, 200, 1000),
             AddConstantEstimator(3000),
             ],
         memory,
         debug_on
     )