コード例 #1
0
ファイル: hunt_test.py プロジェクト: khantzen/prey-predator
def test_rabbit_should_be_eaten_when_met_one_fox():
    fox = Fox()
    rabbit = Rabbit()
    hunt = Hunt([fox], [rabbit])
    hunt.launch()
    assert fox.is_fed()
    assert rabbit.is_dead()
コード例 #2
0
def test_5_rabbits_and_no_fox_should_breed_no_rabbit_when_life_happen():
    territory = Territory()
    for i in range(5):
        rabbit = Rabbit()
        rabbit.age = 5
        territory.add_rabbit(rabbit)

    territory.life_happen()
    assert territory.new_child_rabbit() == 2
コード例 #3
0
ファイル: hunt_test.py プロジェクト: khantzen/prey-predator
def test_two_foxes_met_one_rabbit_only_one_fox_should_be_fed():
    fox_1 = Fox()
    fox_2 = Fox()
    rabbit = Rabbit()
    hunt = Hunt([fox_1, fox_2], [rabbit])
    hunt.launch()
    assert fox_1.is_fed()
    assert not fox_2.is_fed()
    assert rabbit.is_dead()
コード例 #4
0
def test_5_rabbits_and_5_hungry_fox_should_left_no_rabbit_alive():
    territory = Territory()
    for i in range(5):
        territory.add_rabbit(Rabbit())
        territory.add_fox(Fox())

    territory.life_happen()
    assert territory.rabbit_count() == 0
コード例 #5
0
ファイル: hunt_test.py プロジェクト: khantzen/prey-predator
def test_two_rabbit_met_one_fox_one_is_eaten_the_other_survive():
    fox = Fox()
    rabbit_1 = Rabbit()
    rabbit_2 = Rabbit()
    hunt = Hunt([fox], [rabbit_1, rabbit_2])
    hunt.launch()
    assert fox.is_fed()
    assert rabbit_1.is_dead()
    assert not rabbit_2.is_dead()
コード例 #6
0
def test_add_one_rabbit_to_territory():
    rabbit = Rabbit()
    territory = Territory()
    territory.add_rabbit(rabbit)
    assert territory.rabbit_count() == 1
    assert territory.is_occupied()
コード例 #7
0
def test_add_two_rabbits_to_territory():
    territory = Territory()
    territory.add_rabbit(Rabbit())
    territory.add_rabbit(Rabbit())
    assert territory.rabbit_count() == 2
コード例 #8
0
ファイル: World.py プロジェクト: khantzen/prey-predator
 def assign_rabbit_to_territories(self, coord_generator, rabbits):
     for rabbit in range(rabbits):
         coord = coord_generator.next_coord()
         list(
             filter(lambda territory: territory.coord == coord,
                    self.territories))[0].add_rabbit(Rabbit())
コード例 #9
0
ファイル: World.py プロジェクト: khantzen/prey-predator
def add_new_rabbits_to(territory):
    for _ in range(territory.new_child_rabbit()):
        territory.add_rabbit(Rabbit())

    territory.born_rabbits = 0
コード例 #10
0
print("press enter to start")
input()


while True:

    world.launch_round()

    print("foxes : " + str(world.total_fox()))
    print("rabbit : " + str(world.total_rabbits()))

    print("Do you want to edit eco system ? (y/[n])")
    response = input()

    if response == "y":
        print("How many foxes to add ? [0]")
        foxes_to_add = int(input() or '0')
        for _ in range(foxes_to_add):
            random.choice(world.territories).add_fox(Fox())

        print("How many rabbits to add ? [0]")
        rabbits_to_add = int(input() or '0')
        for _ in range(rabbits_to_add):
            random.choice(world.territories).add_rabbit(Rabbit())

        print("Eco system edited, press Enter to continue")
        input()