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)
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.")
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)
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")
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" )
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")
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:
def test_tiger_repr(self): t = Tiger("w", "f", 3) res = str(t) self.assertEqual(res, "Name: w, Age: 3, Gender: f")
def test_tiger_get_needs(self): t = Tiger("v", "f", 7) res = t.get_needs() self.assertEqual(res, 45)
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),
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}")