def run_game(): # 初始化游戏并创建一个屏幕对象 pygame.init() #引用Settings类 ai_settings = Settings() screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height)) pygame.display.set_caption("Alien Invasion") #创建一个用于存储游戏统计信息的实例 stats = GameStates(ai_settings) #创建一艘飞船,一个子弹编组和一个外星人编组 ship = Ship(ai_settings, screen) bullets = Group() aliens = Group() #创建外星人群 gf.create_fleet(ai_settings, screen, ship, aliens) # 开始游戏的主循环 while True: #监视键盘和鼠标事件 gf.check_events(ai_settings, screen, ship, bullets) if stats.game_active: ship.update() #bullets.update() gf.update_bullets(ai_settings, screen, ship, aliens, bullets) #在终端打印当前屏幕存在的子弹数量 #print(len(bullets)) gf.update_aliens(ai_settings, stats, screen, ship, aliens, bullets) gf.update_screen(ai_settings, screen, ship, aliens, bullets)
def run_game(): #初始化游戏并创建一个屏幕对象 pygame.init() '''load game settings''' ai_settings = Settings() screen = pygame.display.set_mode( (ai_settings.screen_width, ai_settings.screen_height)) pygame.display.set_caption(ai_settings.caption) '''create a ship''' ship = Ship(ai_settings, screen) '''init a allien group''' aliens = Group() gf.create_fleet(ai_settings, screen, ship, aliens) '''create a group to store all bullets''' bullets = Group() #init a stats object stats = GameStates(ai_settings) #开始游戏的主循环 while True: #监视键盘和鼠标事件 gf.check_events(ai_settings, screen, ship, bullets) if stats.game_active: gf.update_ship(ship) gf.update_bullets(ai_settings, screen, ship, aliens, bullets) gf.update_aliens(ai_settings, stats, screen, ship, aliens, bullets) print(len(bullets)) gf.update_screen(ai_settings, screen, ship, aliens, bullets)
def run_game(): #初始化屏幕并且创建一个屏幕对象 pygame.init() #初始化 ai_settings = Setting() screen = pygame.display.set_mode( (ai_settings.screen_width, ai_settings.screen_height)) #创建了一个屏幕对象screen设置屏幕大小 bg_color = (ai_settings.screen_color) #设置背景颜色 pygame.display.set_caption("Super_ship") #设置屏幕框显示的文字 ship = Ship(ai_settings, screen) #创建一艘飞船,不可以放在while循环中 ship_height = ship.rect.height bullets = Group() aliens = Group() gf.creat_fleet(ai_settings, screen, aliens, ship_height) stats = GameStates(ai_settings) ship_limit = stats.ai_settings.ship_limit #开始游戏的主循环 while True: #每经过一次循环就刷新一下屏幕 #监视键盘和鼠标事件 gf.check_events(ai_settings, screen, ship, bullets) ship.update() gf.update_aliens(ai_settings, aliens, ship, bullets, stats, screen, ship_height) gf.update_bullets(ai_settings, screen, ship, bullets, aliens, ship_height) gf.update_screen( ai_settings, screen, ship, bullets, aliens) #每次循环都会重新绘制屏幕 #必须先进行填充背景色#将飞船放置在底端中间#让最近绘制的屏幕可见
def run_game(): pygame.init() ai_settings = Settings() screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height)) pygame.display.set_caption("Alien Invasion") # 创建Play按钮 play_button = Button(ai_settings, screen, "Play") # 创建一个用于存储游戏统计信息的实例,并创建计分牌 stats = GameStates(ai_settings) sb = Scoreboard(ai_settings, screen, stats) # 创建一搜飞船 ship = Ship(ai_settings, screen) # 创建一个用于存储子弹的编组 bullets = Group() # 创建外星人编组 aliens = Group() # 创建外星人群 gf.create_fleet(ai_settings, screen, ship, aliens) # 开始游戏循环主体 while True: # 监视键盘和鼠标事件 gf.check_events(ai_settings, screen, stats, sb, play_button, ship, aliens, bullets) if stats.game_active: ship.update() gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens, bullets) gf.update_aliens(ai_settings, screen, stats, sb, ship, aliens, bullets) gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button)
def run_game(): # 初始化游戏并创建一个屏幕对象 pygame.init() ai_settings = Settings() screen = pygame.display.set_mode( (ai_settings.screen_width, ai_settings.screen_height)) ship = Ship(ai_settings, screen) pygame.display.set_caption("Alien Invasion") stats = GameStates(ai_settings) # 创建一个用于存储子弹的编组 bullets = Group() aliens = Group() gf.create_fleet(ai_settings, screen, aliens, ship) play_button = Button(screen, "Play!") scoreboard = Scoreboard(screen, stats, ai_settings) # 开始游戏的主循环 while True: # 监视键盘和鼠标事件 gf.check_events(scoreboard, ai_settings, screen, ship, bullets, play_button, stats, aliens, bullets) if stats.game_active: ship.update() gf.update_bullets(stats, scoreboard, ai_settings, bullets, aliens, screen, ship) gf.update_aliens(scoreboard, ai_settings, ship, aliens, stats, bullets, screen) gf.update_screen(ai_settings, screen, ship, aliens, bullets, play_button, stats, scoreboard)
def run_game(): #初始化游戏并创建一个屏幕对象 pygame.init() ai_settings = Settings() screen = pygame.display.set_mode( (ai_settings.screen_width, ai_settings.screen_height)) ship = Ship(ai_settings, screen) alien = Alien(ai_settings, screen) #创建一个用于存储子弹的编组 bullets = Group() aliens = Group() #创建外星人群 gf.create_fleet(ai_settings, screen, ship, aliens) #创建用于存储游戏统计信息的实例 stats = GameStates(ai_settings) #创建游戏开始的按钮 play_button = Button(ai_settings, screen, "Play") #游戏主循环 while True: gf.check_events(ai_settings, screen, stats, play_button, ship, aliens, bullets) if stats.game_active: ship.update() gf.update_bullets(ai_settings, screen, ship, aliens, bullets) gf.update_aliens(ai_settings, stats, screen, ship, aliens, bullets) #每次循环都重绘屏幕 gf.update_screen(ai_settings, screen, stats, ship, aliens, bullets, play_button)
def __init__(self): pygame.init() self.settings = Settings() self.screen = pygame.display.set_mode( (self.settings.screen_width, self.settings.screen_height)) pygame.display.set_caption("Alien Invasion") self.stats = GameStates(self) self.ship = Ship(self) self.bullets = pygame.sprite.Group() self.aliens = pygame.sprite.Group() self._create_fleet() self.play_button = Button(self, "Play")
def run_game(): #初始化游戏并创建一个游戏对象 pygame.init() ai_settings = Settings() screen = pygame.display.set_mode( (ai_settings.screen_width, ai_settings.screen_height)) pygame.display.set_caption("Alien Invasion") #创建Play按钮 play_button = Button(ai_settings, screen, "Play") #创建一个用于存储游戏统计信息的实例 stats = GameStates(ai_settings) sb = Scoreboard(ai_settings, screen, stats) #创建一艘飞船 ship = Ship(ai_settings, screen) #创造一个用于存储子弹的编组 bullets = Group() aliens = Group() #创建外星人群 gf.create_fleet(ai_settings, screen, ship, aliens) bg_color = (230, 230, 230) #alien = Alien(ai_settings,screen) #开始游戏的主循环 while True: #监视键盘和鼠标事件 gf.check_events(ai_settings, screen, stats, sb, play_button, ship, aliens, bullets) if stats.ship_left > 0: ship.update() gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens, bullets) gf.update_alien(ai_settings, screen, stats, sb, ship, aliens, bullets) #print(len(bullets)) gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button) #让最近绘制的屏幕可见 pygame.display.flip()
def run_game(): """Initialise game and create an object of the game""" pygame.init() ai_settings = Settings() screen = pygame.display.set_mode( (ai_settings.screen_height, ai_settings.screen_height)) pygame.display.set_caption("Alien Invasion") # Make a ship ship = Ship(ai_settings, screen) # Storing bullet as groups bullets = Group() # Make an alien alien = Alien(ai_settings, screen) # Storing alien as groups aliens = Group() # creating fleets gf.create_fleet(ai_settings, screen, ship, aliens) # Make gaming instances and score instances stats = GameStates(ai_settings) sb = Scoreboard(ai_settings, screen, stats) # Make a play button play_button = Button(ai_settings, screen, "Play") # Start the main loop for the program while True: # using the check_events module from game_functions.py gf.check_events(ai_settings, screen, stats, sb, play_button, ship, aliens, bullets) if stats.game_active: ship.update() gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens, bullets) gf.update_aliens(ai_settings, screen, stats, sb, ship, aliens, bullets) gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button)
def __init__(self): #Initialize the game, and create game resorces pygame.init() self.settings = Settings() #create screen self.screen = pygame.display.set_mode( (self.settings.screen_width, self.settings.screen_height)) pygame.display.set_caption("Alien Invasion") #Create an instance to store game statistics, and create a scoreboard. self.stats = GameStates(self) self.sb = Scoreboard(self) self.ship = Ship(self) self.bullets = pygame.sprite.Group() self.aliens = pygame.sprite.Group() self._create_fleet() #Make the Play button self.play_button = Button(self, "Play")
def run_game(): #初始化pygame、设置和屏幕对象 pygame.init() ai_settings = Settings() screen = pygame.display.set_mode( (ai_settings.screen_width, ai_settings.screen_height)) pygame.display.set_caption("Alien Invasion") #创建play按钮 play_button = Button(ai_settings, screen, 'Play') #创建一个用于存储游戏统计信息的实例,并创建计分牌 stats = GameStates(ai_settings) sb = Scoreboard(ai_settings, screen, stats) #创建一艘飞船、一个子弹编组、一个外星人编组 ship = Ship(ai_settings, screen) bullets = Group() aliens = Group() #创建外星人群 gf.create_fleet(ai_settings, screen, ship, aliens) #开始游戏的主循环 while True: gf.check_events(ai_settings, screen, stats, sb, play_button, ship, aliens, bullets) if stats.game_active: ship.update() gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens, bullets) gf.update_aliens(ai_settings, screen, stats, sb, ship, aliens, bullets) gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button)
def run_game(): pygame.init() ai_settings = Settings() screen = pygame.display.set_mode( (ai_settings.screen_width, ai_settings.screen_height)) pygame.display.set_caption("Alien Invasion") play_button = Button(ai_settings, screen, "Play") stats = GameStates(ai_settings) sb = Scoreboard(ai_settings, screen, stats) ship = Ship(ai_settings, screen) bullets = Group() aliens = Group() gf.create_fleet(ai_settings, screen, ship, aliens) while True: gf.check_events(ai_settings, stats, screen, play_button, ship, aliens, bullets) if stats.game_active: ship.update() gf.update_bullets(ai_settings, stats, sb, screen, ship, aliens, bullets) gf.update_aliens(ai_settings, stats, screen, ship, aliens, bullets) gf.update_screen(ai_settings, stats, sb, screen, ship, aliens, bullets, play_button)