Example #1
0
 def setUp(self):
     imp.reload(ants)
     hive = ants.Hive(ants.make_test_assault_plan())
     layout = TestProblem9.queen_layout
     self.colony = ants.AntColony(None, hive, ants.ant_types(), layout)
     self.queen = ants.QueenAnt()
     self.imposter = ants.QueenAnt()
Example #2
0
 def setUp(self):
     imp.reload(ants)
     hive = ants.Hive(ants.make_test_assault_plan())
     layout = TestProblem9.queen_layout
     self.colony = ants.AntColony(None, hive, ants.ant_types(), layout)
     self.queen = ants.QueenAnt()
     self.imposter = ants.QueenAnt()
Example #3
0
 def setUp(self):
     imp.reload(ants)
     hive = ants.Hive(ants.make_test_assault_plan())
     layout = ants.test_layout_multi_tunnels
     self.colony = ants.AntColony(None, hive, ants.ant_types(), layout)
     self.princess_peach = ants.PrincessAnt()
     self.princess_daisy = ants.PrincessAnt()
 def setUp(self):
     imp.reload(ants)
     hive = ants.Hive(ants.make_test_assault_plan())
     layout = ants.test_layout_multi_tunnels
     self.colony = ants.AntColony(None, hive, ants.ant_types(), layout)
     self.princess_peach = ants.PrincessAnt()
     self.princess_daisy = ants.PrincessAnt()
Example #5
0
def test():
    importlib.reload(ants)
    hive = ants.Hive(ants.AssaultPlan())
    dimensions = (2, 9)
    colony = ants.AntColony(None, hive, ants.ant_types(), ants.dry_layout,
                            dimensions)
    # Extensive damage doubling tests
    queen_tunnel, side_tunnel = [[
        colony.places['tunnel_{0}_{1}'.format(i, j)] for j in range(9)
    ] for i in range(2)]
    queen = ants.QueenAnt()
    queen_tunnel[7].add_insect(queen)
    # Turn 0
    thrower = ants.ThrowerAnt()
    fire = ants.FireAnt()
    ninja = ants.NinjaAnt()
    side = ants.ThrowerAnt()
    front = ants.NinjaAnt()
    queen_tunnel[0].add_insect(thrower)
    queen_tunnel[1].add_insect(fire)
    queen_tunnel[2].add_insect(ninja)
    queen_tunnel[8].add_insect(front)
    side_tunnel[0].add_insect(side)
    buffed_ants = [thrower, fire, ninja]
    old_dmgs = [ant.damage for ant in buffed_ants]
    queen.action(colony)
    for ant, dmg in zip(buffed_ants, old_dmgs):
        assert ant.damage == dmg * 2, "{0}'s damage is {1}, but should be {2}".format(
            ant, ant.damage, dmg * 2)
    for ant in [side, front]:
        assert ant.damage == dmg, "{0}'s damage is {1}, but should be {2}".format(
            ant, ant.damage, dmg)
    assert queen.damage == 1, 'QueenAnt damage was modified to {0}'.format(
        ant.damage)
    # Turn 1
    tank = ants.TankAnt()
    guard = ants.BodyguardAnt()
    queen_tank = ants.TankAnt()
    queen_tunnel[6].add_insect(tank)  # Not protecting an ant
    queen_tunnel[1].add_insect(guard)  # Guarding FireAnt
    queen_tunnel[7].add_insect(queen_tank)  # Guarding QueenAnt
    buffed_ants.extend([tank, guard])
    old_dmgs.extend([ant.damage for ant in [tank, guard, queen_tank]])
    queen.action(colony)
    for ant, dmg in zip(buffed_ants, old_dmgs):
        assert ant.damage == dmg * 2, "{0}'s damage is {1}, but should be {2}".format(
            ant, ant.damage, dmg * 2)

    # Turn 2
    thrower1 = ants.ThrowerAnt()
    thrower2 = ants.ThrowerAnt()
    queen_tunnel[6].add_insect(thrower1)  # Add thrower1 in TankAnt
    queen_tunnel[5].add_insect(thrower2)
    buffed_ants.extend([thrower1, thrower2])
    old_dmgs.extend([ant.damage for ant in [thrower1, thrower2]])
    queen.action(colony)
    for ant, dmg in zip(buffed_ants, old_dmgs):
        assert ant.damage == dmg * 2, "{0}'s damage is {1}, but should be {2}".format(
            ant, ant.damage, dmg * 2)
Example #6
0
 def setUp(self):
     hive, layout = ants.Hive(
         ants.make_test_assault_plan()), ants.test_layout
     self.colony = ants.AntColony(None, hive, ants.ant_types(), layout)
Example #7
0
 def setUp(self):
     hive, layout = ants.Hive(ants.make_test_assault_plan()), ants.test_layout
     self.colony = ants.AntColony(None, hive, ants.ant_types(), layout)
Example #8
0
if __name__ == '__main__':
    import ants, importlib
    importlib.reload(ants)
    hive = ants.Hive(ants.AssaultPlan())
    dimensions = (2, 9)
    colony = ants.AntColony(None, hive, ants.ant_types(),
         ants.dry_layout, dimensions)
    ants.bees_win = lambda: None
    # Testing damage multiplier
    queen_tunnel, side_tunnel = [[colony.places['tunnel_{0}_{1}'.format(i, j)]
         for j in range(9)] for i in range(2)]
    queen = ants.QueenAnt()
    back = ants.ThrowerAnt()
    front = ants.ThrowerAnt()
    guard = ants.BodyguardAnt()
    guarded = ants.ThrowerAnt()
    side = ants.ThrowerAnt()
    bee = ants.Bee(10)
    side_bee = ants.Bee(10)
    queen_tunnel[0].add_insect(back)
    queen_tunnel[1].add_insect(guard)
    queen_tunnel[1].add_insect(guarded)
    queen_tunnel[2].add_insect(queen)
    queen_tunnel[3].add_insect(front)
    side_tunnel[0].add_insect(side)
    queen_tunnel[4].add_insect(bee)
    side_tunnel[4].add_insect(side_bee)
    queen.action(colony)
    bee.armor
    back.action(colony)
    bee.armor
Example #9
0
import ants, importlib
importlib.reload(ants)
hive = ants.Hive(ants.AssaultPlan())
dimensions = (2, 9)
colony = ants.AntColony(None, hive, ants.ant_types(), ants.dry_layout,
                        dimensions)

queen_tunnel, side_tunnel = [[
    colony.places['tunnel_{0}_{1}'.format(i, j)] for j in range(9)
] for i in range(2)]
queen = ants.QueenAnt()
queen_tunnel[7].add_insect(queen)
print('Turn1----------------------------')
thrower = ants.ThrowerAnt()
fire = ants.FireAnt()
ninja = ants.NinjaAnt()
side = ants.ThrowerAnt()
front = ants.NinjaAnt()
queen_tunnel[0].add_insect(thrower)
queen_tunnel[1].add_insect(fire)
queen_tunnel[2].add_insect(ninja)
queen_tunnel[8].add_insect(front)
side_tunnel[0].add_insect(side)
queen.action(colony)
print('Turn2--------------------------------')
tank = ants.TankAnt()
guard = ants.BodyguardAnt()
queen_tank = ants.TankAnt()
queen_tunnel[6].add_insect(tank)
print("insert tank")
queen_tunnel[1].add_insect(guard)
Example #10
0
import ants, importlib
importlib.reload(ants)
hive = ants.Hive(ants.AssaultPlan())
dimensions = (2, 9)
colony = ants.AntColony(None, hive, ants.ant_types(),
        ants.dry_layout, dimensions)
ants.bees_win = lambda: None
# Testing damage multiplier
queen_tunnel, side_tunnel = [[colony.places['tunnel_{0}_{1}'.format(i, j)]
        for j in range(9)] for i in range(2)]
queen = ants.QueenAnt()
back = ants.ThrowerAnt()
front = ants.ThrowerAnt()
guard = ants.BodyguardAnt()
guarded = ants.ThrowerAnt()
side = ants.ThrowerAnt()
bee = ants.Bee(10)
side_bee = ants.Bee(10)
queen_tunnel[0].add_insect(back)
queen_tunnel[1].add_insect(guard)
queen_tunnel[1].add_insect(guarded)
queen_tunnel[2].add_insect(queen)
queen_tunnel[3].add_insect(front)
side_tunnel[0].add_insect(side)
queen_tunnel[4].add_insect(bee)
side_tunnel[4].add_insect(side_bee)
queen.action(colony)
guard.action(colony)