def run_game():

    # Initialize pygame, settings, and screen object.
    pygame.init()
    ai_settings = Settings()
    screen = pygame.display.set_mode(
        (ai_settings.screen_width, ai_settings.screen_height))
    pygame.display.set_caption("Alien Invasion")

    # Make the Play button.
    play_button = Button(ai_settings, screen, "Play")

    # Create an instance to store game statistics and create a scoreboard.
    stats = GameStats(ai_settings)
    sb = Scoreboard(ai_settings, screen, stats)

    # Make a tiger, a group of bullets, and a group of aliens.
    # Make a tiger.
    tiger = Tiger(ai_settings, screen)

    # Make a group to store bullets in.
    bullets = Group()

    aliens = Group()

    # Create the fleet of aliens.
    gf.create_fleet(ai_settings, screen, tiger, aliens)

    # Set the background color.
    bg_color = (180, 190, 250)

    # Make an alien.
    alien = Alien(ai_settings, screen)

    # Start the main loop for the game.
    while True:

        gf.check_events(ai_settings, screen, stats, sb, play_button, tiger,
                        aliens, bullets)

        if stats.game_active:

            tiger.update()

            gf.update_bullets(ai_settings, screen, stats, sb, tiger, aliens,
                              bullets)

            gf.update_aliens(ai_settings, screen, stats, sb, tiger, aliens,
                             bullets)

        gf.update_screen(ai_settings, screen, stats, sb, tiger, aliens,
                         bullets, play_button)
示例#2
0
 def test_zoo_tend_animal_no_budget(self):
     z = Zoo("Zoo", 250, 2, 2)
     z.add_animal(Lion("John", "m", 2), 100)
     z.add_animal(Tiger("Bill", "f", 4), 100)
     res = z.tend_animals()
     self.assertEqual(
         res, "You have no budget to tend the animals. They are unhappy.")
示例#3
0
 def prep_tigers(self):
     """Show how many tigers are left."""
     self.tigers = Group()
     for tiger_number in range(self.stats.tigers_left):
         tiger = Tiger(self.ai_settings, self.screen)
         tiger.rect.x = 10 + tiger_number * tiger.rect.width
         tiger.rect.y = 10
         self.tigers.add(tiger)
示例#4
0
 def test_zoo_tend_animal_success(self):
     z = Zoo("Zoo", 500, 2, 2)
     z.add_animal(Lion("John", "m", 2), 100)
     z.add_animal(Tiger("Bill", "f", 4), 100)
     res = z.tend_animals()
     self.assertEqual(z._Zoo__budget, 205)
     self.assertEqual(
         res,
         "You tended all the animals. They are happy. Budget left: 205")
示例#5
0
 def test_animal_status(self):
     z = Zoo("My Zoo", 500, 3, 3)
     z.add_animal(Lion("Leo", "Male", 3), 100)
     z.add_animal(Tiger("Tigy", "Female", 4), 100)
     z.add_animal(Cheetah("Chi", "Female", 2), 100)
     res = z.animals_status()
     self.assertEqual(
         res,
         "You have 3 animals\n----- 1 Lions:\nName: Leo, Age: 3, Gender: Male\n----- 1 Tigers:\nName: Tigy, Age: 4, Gender: Female\n----- 1 Cheetahs:\nName: Chi, Age: 2, Gender: Female"
     )
示例#6
0
文件: tests.py 项目: jds-walker/pomcp
    def test_UCT(self):

        t = Tiger()
        a = Node(t)

        a.N = 10

        a.children["b"] = Node(t)

        b = a.children["b"]

        b.N = 20

        

        self.fail("finish the test")
示例#7
0
from random import randint
from tiger import Tiger
from sheep import Sheep
from room import Room
import time
print("*********游戏开始*********")
#循环创建实例--10个房间实例--游戏初始化操作
roomList = []
for one in range(0, 10):  #左含右不含  0----9
    #随机取动物
    if randint(0, 1) == 1:  #老虎
        ani = Tiger()
    else:  #羊
        ani = Sheep()
    room = Room(one, ani)  #创建实例
    roomList.append(room)

startTime = time.time()

while True:
    endTime = time.time()
    if endTime - startTime > 10:
        print("*********游戏结束*********")
        for roomNo, room in enumerate(roomList):
            print("房间号:%s  房间里的动物是:%s  动物的体重是:%s" %
                  (roomNo + 1, room.animal.classname, room.animal.weight))
        break
    roomNum = randint(0, 9)
    room = roomList[roomNum]
    print("当前房间号:%s,请选择敲门(k)/还是喂食(f)?" % (room.num + 1))
    while True:
示例#8
0
 def test_tiger_repr(self):
     t = Tiger("w", "f", 3)
     res = str(t)
     self.assertEqual(res, "Name: w, Age: 3, Gender: f")
示例#9
0
 def test_tiger_get_needs(self):
     t = Tiger("v", "f", 7)
     res = t.get_needs()
     self.assertEqual(res, 45)
示例#10
0
 def test_tiger_init(self):
     t = Tiger("z", "m", 1)
     self.assertEqual(t.name, "z")
     self.assertEqual(t.gender, "m")
     self.assertEqual(t.age, 1)
               f"----- {len(keepers)} Keepers:\n" \
               f"{NEW_LINE.join(keepers)}\n" \
               f"----- {len(caretakers)} Caretakers:\n" \
               f"{NEW_LINE.join(caretakers)}\n" \
               f"----- {len(vets)} Vets:\n" \
               f"{NEW_LINE.join(vets)}"


zoo = Zoo("Zootopia", 3000, 5, 8)

# Animals creation
animals = [
    Cheetah("Cheeto", "Male", 2),
    Cheetah("Cheetia", "Female", 1),
    Lion("Simba", "Male", 4),
    Tiger("Zuba", "Male", 3),
    Tiger("Tigeria", "Female", 1),
    Lion("Nala", "Female", 4)
]

# Animal prices
prices = [200, 190, 204, 156, 211, 140]

# Workers creation
workers = [
    Keeper("John", 26, 100),
    Keeper("Adam", 29, 80),
    Keeper("Anna", 31, 95),
    Caretaker("Bill", 21, 68),
    Caretaker("Marie", 32, 105),
    Caretaker("Stacy", 35, 140),
示例#12
0
from tiger import Tiger
from node import Node

tiger = Tiger()
tree = Node(tiger, actual_state=tiger.startState())

rewards = 0
for i in range(100):

    # train 
    for _ in range(1200):
        tree.select()

    # actual act
    # particle update is done as part of the real step. 
    # Get next belief (function) take current particles - get action and observation -> from there generate next set of particles
    tree, reward = tree.act()
    print(reward)
    rewards = rewards + reward


print(f"total rewarads {rewards}")