def __init__(self): pygame.init() #Initializing the game self.screen = pygame.display.set_mode((800, 600)) # sets a 1200 pixel wide and 800 pixels high screen called surface # Surface returned by pygame.display.set_mode() represents entire game window self.bg = pygame.image.load(background_image) pygame.display.set_caption("Alien Invasion") self.stats = Gamestats(self) # creating instanc to store game-stats self.sb = Scoreboard(self) self.alien_speed = 1 self.Ship = ship(self) self.our_speed = 1 self.bullets = pygame.sprite.Group() self.aliens = pygame.sprite.Group() self.fleet_direction = 1 self.val = 5 self._create_fleet() self.bullet_speed = 1 self.bullet_width = 4 self.bullet_height = 15 self.bullet_color = (255, 0, 0) self.bullet_allowed = 3 self.play_button = Button(self, "Play")
def __init__(self): pygame.init() self.setting = Settings() # Setting the screen self.screen = pygame.display.set_mode( (self.setting.screen_width, self.setting.screen_height)) self.setting.screen_width = self.screen.get_rect().width self.setting.screen_height = self.screen.get_rect().height self.background = pygame.image.load("starfield.png") # Setting a Caption pygame.display.set_caption("Alien Invasion") # Setting a value for other python pages that are imported self.stats = Gamestats(self) self.S_B = scoreboard(self) self.ship = ship(self) self.bullets = pygame.sprite.Group() self.aliens = pygame.sprite.Group() self.S_B.check_high_score() self.create_fleet() # Setting button and a message self.play_button = Button(self, "Play")
def __init__(self): pygame.init() self.setting1 = Setting() self.screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN) self.screen_rect = self.screen.get_rect() pygame.display.set_caption('Alien Invasion') self.stats = Gamestats(self) self.ship = Ship(self) self.bullets = pygame.sprite.Group() self.aliens = pygame.sprite.Group() self._create_fleet() self.play_button = Button(self, 'PLAY') self.sb = Scoreboard(self)
def run_game(): # Initialize game and create a 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 stats = Gamestats(ai_settings) # Make a ship. ship = Ship(ai_settings, screen) bullets = Group() aliens = Group() # Create the fleet of aliens. gf.create_fleet(ai_settings, screen, ship, aliens) while True: gf.check_events(ai_settings, screen, stats, 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 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") # 创建一个飞船 ship = Ship(ai_settings,screen) # 创建一个子弹编组 bullets = Group() # 创建一个外星人编组 aliens = Group() # 创建外星人群 gf.create_fleet(ai_settings,screen,ship,aliens) #创建一个统计信息实例 stats = Gamestats(ai_settings) #游戏主循环 while True: gf.check_events(ai_settings,screen,ship,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,ship,aliens,bullets)
def run_game(): #initialize game and create a screen object. pygame.init() gamesettings = Settings() screen = pygame.display.set_mode( (gamesettings.screen_width, gamesettings.screen_height)) pygame.display.set_caption("Alien Invasion") #make a ship ship = Ship(gamesettings, screen) #make a group to store bullets bullets = Group() aliens = Group() #make an alien alien = Alien(gamesettings, screen) #create the fleet of aliens gf.create_fleet(gamesettings, screen, ship, aliens) #create an instance to store game statistics stats = Gamestats(gamesettings) #start main loop for game while True: gf.check_events(gamesettings, screen, ship, bullets) ship.update() bullets.update() gf.update_aliens(gamesettings, stats, screen, ship, aliens, bullets) gf.update_bullets(gamesettings, screen, ship, aliens, bullets) #get rid of excess bullets for bullet in bullets.copy(): if bullet.rect.bottom <= 0: bullets.remove(bullet) print(len(bullets)) gf.update_screen(gamesettings, screen, ship, aliens, bullets)
def run_game(): username = login.great_user() pygame.init() ai = Settings() screen = pygame.display.set_mode((ai.screen_width, ai.screen_height)) ship = Ship(ai, screen) bullets = Group() aliens = Group() gf.create_fleet(ai, screen, ship, aliens) stats = Gamestats(ai, username) sb = Scoreboard(ai, screen, stats, username) pygame.display.set_caption("Alien Invasion") play_button = Button(ai, screen, "play") while True: gf.check_events(ai, screen, stats, sb, play_button, ship, aliens, bullets) ship.update() gf.update_bullets(ai, screen, stats, sb, ship, aliens, bullets) gf.update_aliens(ai, screen, stats, sb, ship, aliens, bullets) pygame.display.flip() gf.update_screen(ai, 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 = Gamestats(ai_settings) ship = Ship(ai_settings, screen) bullets = Group() #alien=Alien(ai_settings,screen) aliens = Group() gf.create_fleet(ai_settings, screen, ship, aliens) sb = Scoreboard(ai_settings, screen, stats) while True: gf.check_events(ai_settings, screen, stats, sb, play_button, ship, aliens, bullets) if stats.game_active: ship.update() #bullets.update() gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens, bullets) #for bulle in bullets.copy(): #if bullet.rect.bottom<=0: #bullets.remove(bullet) #print(len(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(): #initialize game and create a 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 statisc. stats = Gamestats(ai_settings) sb = Scoreboard(ai_settings,screen,stats) #make a ship ship = Ship(ai_settings,screen) #make a group to store the bullets in. bullets = Group() #create the fleet of aliens. #make an alien. aliens = Group() #create the fleet of aliens. gf.create_fleet(ai_settings,screen,ship,aliens) # start the main loop for the game. 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") # 创建Play按钮 ship = Ship(ai_settings, screen) # 创建一艘飞船 aliens = pygame.sprite.Group() # 创建一个用于存储外星人群的编组 bullets = pygame.sprite.Group() # 创建一个用于存储子弹的编组 stats = Gamestats(ai_settings) # 开始 sbd = Scoreboard(ai_settings, screen, stats) # 创建计数板 # 创建外星人群 gf.create_fleet(ai_settings, screen, ship, aliens) # 开始游戏的主循环 while True: gf.check_events(ai_settings, stats, screen, sbd, ship, aliens, bullets, play_button) # 键盘鼠标响应检测 if stats.game_active: ship.update() # 更新飞船位置 gf.update_aliens(ai_settings, stats, screen, sbd, ship, aliens, bullets) # 更新外星人 gf.update_bullets(ai_settings, stats, screen, sbd, ship, bullets, aliens) # 更新子弹位置 gf.update_screen(ai_settings, stats, screen, sbd, 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") # make a Ship ship = Ship(ai_settings, screen) #make a group to store bullets and aliens bullets = Group() aliens = Group() stats = Gamestats(ai_settings) sb = Scoreboard(ai_settings, screen, stats) gf.create_fleet(ai_settings, screen, aliens, ship) while True: gf.check_events(ai_settings, stats, play_button, screen, ship, bullets, aliens, sb) if stats.game_active: ship.update() gf.update_bullets(ai_settings, screen, ship, sb, aliens, bullets, stats) gf.update_aliens(ai_settings, stats, sb, screen, bullets, aliens, ship) gf.update_screen(ai_settings, stats, screen, ship, sb, aliens, bullets, play_button)
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 a ship. ship = Ship(ai_settings, screen) # Make a group to store bullets in. bullets = Group() # Make a group to store aliens in. aliens = Group() # Make a stats of game and creat a scoreboard stats = Gamestats(ai_settings) sb = Scoreboard(ai_settings, screen, stats) # Make a button of play play_button = Button(ai_settings, screen, "Play") # Creat alien fleet gf.create_fleet(ai_settings, screen, ship, aliens) # Start the main loop for the game. 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 Ivasion') #创建play按钮 play_button = Button(ai_settings, screen, "Play") #创建ship及alien ship = Ship(ai_settings, screen) alien = Alien(ai_settings, screen) #创建存储子弹数据 bullets = Group() aliens = Group() #储存游戏次数 stats = Gamestats(ai_settings) sb = Scoreboard(ai_settings, screen, stats) #创建aliens群 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(): """initialize a 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") # create a ship ship = Ship(ai_settings, screen) # create a group to store the bullet bullets = Group() aliens=Group() #create a group of the alien gf.create_fleet(ai_settings,screen,ship,aliens) #create an alien object alien=Alien(ai_settings,screen) #statistics stats=Gamestats(ai_settings) #create the play button play_button=Button(ai_settings,screen,"play") # begin the main loop while True: # survalence the keyboard and the mouse gf.check_events(ai_settings, screen,stats,play_button, ship, bullets) if stats.game_active==True: # remake the location ship.update() gf.update_bullet(ai_settings,screen,ship,aliens,bullets) gf.update_aliens(ai_settings,stats,screen,ship,aliens,bullets) # fill the screen with background color # let the recently draw screen visible gf.update_screen(ai_settings, screen,stats, ship, aliens,bullets,play_button)
def run_game(): #初始化 pygame.init() ai_setting = Setting() screen = pygame.display.set_mode( (ai_setting.screen_width, ai_setting.screen_hight)) #创建窗口 ship = Ship(ai_setting, screen) #实例化飞船 stats = Gamestats(ai_setting) #统计信息 sb = Scoreboard(ai_setting, screen, stats) #scoreboard记分牌 bullets = Group() #创建子弹的一个列表 aliens = Group() #同上 gf.create_fleet(ai_setting, screen, ship, aliens) play_button = Button(ai_setting, screen, "Play") # 检测操作->game_function while True: gf.check_event(ai_setting, screen, stats, sb, play_button, ship, aliens, bullets) if stats.game_active: ship.update() gf.update_bullets(ai_setting, screen, stats, sb, ship, aliens, bullets) gf.update_aliens(ai_setting, screen, stats, sb, ship, aliens, bullets) gf.upgrade_screen(ai_setting, screen, stats, sb, ship, aliens, bullets, play_button) #更新屏幕函数
def run_game(): # 初始化游戏并创建一个屏幕对象 all_setting = AllSettings() stats = Gamestats(all_setting) pygame.init() # 初始化pygame # 创建屏幕 screen = pygame.display.set_mode((all_setting.screen_width, all_setting.screen_height)) pygame.display.set_caption("Alien Invation") # 创建飞船对象 ship = Ship(screen, all_setting) # 创建一个用于存储子弹,外星人,外星人子弹的编组 bullets = Group() aliens = Group() enemy_bullets = Group() shield = Shield(ship, screen) # gf.creat_fleet(all_setting, screen, ship, aliens) play_button = Button(all_setting, screen, "Play") score_get = Scoreboard(all_setting, screen, stats) # 开始游戏主循环 while True: gf.check_events(all_setting, screen, ship, aliens, bullets, stats, play_button, score_get, enemy_bullets) if stats.game_active: ship.update() shield.set_pos() gf.update_bullets(bullets, aliens, all_setting, screen, ship, stats, score_get, enemy_bullets) gf.update_aliens(all_setting, aliens, ship, stats, screen, bullets, score_get, shield, enemy_bullets) gf.update_enemy_bullets(enemy_bullets, all_setting) gf.update_screen(all_setting, screen, ship, aliens, bullets, play_button, stats, score_get, shield, enemy_bullets)
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 = Gamestats(ai_settings) sb = Scoreboard(ai_settings, screen, stats) alien = Alien(ai_settings, screen) 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) #get rid of bullets that have disappeared gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button)
def run_game(): # 定义全局变量 global ship # 初始化并创建一个窗口对象 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 = Gamestats(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, 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.undate_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button)
def run_game(): #初始化游戏并创建一个屏幕对象 pygame.init() setting = Settings() screen = pygame.display.set_mode( (setting.screen_width, setting.screen_height)) pygame.display.set_caption("Alien Invation") #创建一艘飞船的实例 ship = Ship(setting, screen) #创建一个用于存储子弹的编组的实例 bullets = Group() #创建一个外星人的编组的实例 aliens = Group() #创建外形人群 gf.creat_fleet(setting, screen, aliens, ship) #创建统计信息的实例 game_stats = Gamestats(setting) #创建一个按钮 play_button = Button(screen, "play", setting) #创建一个记分牌 scoreboard = Scoreboard(screen, aliens, game_stats) #开始游戏 的主循环 while True: #监视键盘和鼠标事件,不管是否游戏进行 gf.check_events(game_stats, play_button, aliens, bullets, ship, setting, screen) # game_stats, play_button, aliens, bullets, ship, setting, screen 如果是这样就对了 # setting, screen, ship, bullets, game_stats, play_button, aliens 如果是这样就会报错,如下: # if play_button.button_rect.collidepoint(mouse_x, mouse_y): # AttributeError: 'pygame.Surface' object has no attribute 'button_rect' #因此在python中位置参数要一一对应 #以下代码表示游戏进行中,相关位置的更新 if game_stats.game_active: #更新飞船位置 ship.update() #更新子弹位置,删除已经消失的子弹 gf.update_bullets(setting, screen, ship, aliens, bullets, game_stats, scoreboard) #更新外星人的位置 gf.update_aliens(setting, game_stats, aliens, ship, screen, bullets) #更新屏幕上的图画并切换到新屏幕,重新绘制屏幕,飞船,子弹和外星人,不管是否游戏进行 gf.update_screen(setting, screen, ship, bullets, aliens, play_button, game_stats, scoreboard)
def __init__(self): pygame.init() # initialize the game self.settings = Settings() # self.screen = pygame.display.set_mode((self.settings.screen_width, self.settings.screen_height)) # for full screen mode self.screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN) self.settings.screen_width = self.screen.get_rect().width self.settings.screen_height = self.screen.get_rect().height pygame.display.set_caption("Alien Invasion") self.stats = Gamestats(self) # instance for game stats self.sb = Scoreboard(self) self.ship = Ship(self) self.stars = pygame.sprite.Group() self.bullets = pygame.sprite.Group() self.aliens = pygame.sprite.Group() self._create_tara() self._create_fleet() self.play_button = Button(self, "START!")
def run_game(): #initialize game and create a screen object. pygame.init() gamesettings = Settings() screen = pygame.display.set_mode((gamesettings.screen_width,gamesettings.screen_height)) pygame.display.set_caption("Alien Invasion") #make the play button play_button = Button(gamesettings, screen, "Play") #make a ship ship = Ship(gamesettings ,screen) #make a group to store bullets bullets = Group() aliens = Group() #make an alien alien = Alien(gamesettings, screen) #create the fleet of aliens gf.create_fleet(gamesettings, screen, ship, aliens) #create an instance to store game statistics stats = Gamestats(gamesettings) sb = Scoreboard(gamesettings, screen, stats) se.bullet_sound.play() #start main loop for game while True: gf.check_events(gamesettings, screen, stats, sb, play_button, ship, aliens, bullets) if stats.game_active: ship.update() bullets.update() gf.update_aliens(gamesettings, screen, stats, sb, ship, aliens, bullets) gf.update_bullets(gamesettings, screen, stats, sb, ship, aliens, bullets) for event in pygame.event.get(): if event.type == pygame.KEYDOWN: se.bullet_sound.play() #get rid of excess bullets for bullet in bullets.copy(): if bullet.rect.bottom <= 0: bullets.remove(bullet) print(len(bullets)) gf.update_screen(gamesettings, screen, stats, sb, ship, aliens, bullets, play_button)
def run_game(): """初始化游戏并创建一个屏幕对象""" pygame.init() ai_setting = Settings() screen = pygame.display.set_mode( (ai_setting.screen_width, ai_setting.screen_height)) #设立一个像素为1200,800的显示窗口 pygame.display.set_caption("alien_game") #set_mode的实参为一个元组 ship = Ship(screen, ai_setting) #创建飞船 bullets = Group() #创建一个子弹元组 #alien = Alien(screen,ai_setting) #创建一个外星人 aliens = Group() #创建一个外星人编组 #用于构建一个群 gf.create_fleet(ai_setting, screen, ship, aliens) #用于绘制按钮 play_button = Button(ai_setting, screen, "play") #用于统计游戏信息 stats = Gamestats(ai_setting) #计分牌 sb = Scoreboard(ai_setting, stats, screen) #开始 游戏主循环 while True: #用于管理事件(要处在游戏启动之外) gf.chck_events(ai_setting, screen, ship, aliens, bullets, stats, play_button, sb) if stats.game_active: #用于移动飞船 ship.updata() #用于发射子弹 gf.updata_bullets(bullets, aliens, ai_setting, screen, ship, stats, sb) #用于外星人移动 gf.update_aliens(ai_setting, screen, stats, ship, bullets, aliens, sb) #用于显示图像 gf.update_screen(screen, ai_setting, ship, aliens, bullets, stats, play_button, sb)
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 = Gamestats(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, ship, bullets, stats, play_button, aliens, sb) if stats.game_active: ship.update() gf.update_bullets(ai_settings, screen, ship, bullets, aliens, stats, sb) gf.update_aliens(ai_settings, screen, ship, stats, aliens, bullets, sb) gf.update_screen(ai_settings, screen, ship, aliens, bullets, stats, play_button, sb)
def run_game(): pygame.init() ai_settings = Settings() screen = pygame.display.set_mode(ai_settings.screen_pixel) pygame.display.set_caption(ai_settings.caption) play_button = Button(ai_settings, screen, 'Play') stats = Gamestats(ai_settings) scoreboard = Scoreboard(ai_settings, screen, stats) ship = Ship(screen) aliens = Alien(screen, ai_settings) bullets = Group() aliens = Group() create_enemies(screen, aliens, ship) while True: game_control(ship, screen, bullets, stats, play_button, aliens, scoreboard, ai_settings) if stats.game_active == True: ship.acting(bullets, screen, ship, stats) bullets_moving(bullets, aliens, screen, ship, ai_settings, stats, scoreboard) update_aliens(aliens, screen, ai_settings, ship, stats, bullets, scoreboard) screen_make_it_newer(ship, screen, bullets, aliens, 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)) pygame.display.set_caption("Alien Invasion") # 创建开始按钮 play_button = Button(ai_settings, screen, "play") # 创建一艘飞船 ship = Ship(ai_settings, screen) # 创建一个用于管理子弹的编组 bullets = Group() #创建一个外星人编组 aliens = Group() gf.create_fleet(ai_settings, screen, ship, aliens) # 创建一个用于统计游戏信息的实例 stats = Gamestats(ai_settings) score = Scoreboard(ai_settings, screen, stats) # 开始游戏的主循环 while True: # 监视键盘和鼠标事件 gf.check_events(ai_settings, screen, stats, score, ship, aliens, bullets, play_button) if stats.game_active: ship.update() gf.update_bullets(ai_settings, screen, stats, score, ship, aliens, bullets) gf.update_aliens(ai_settings, stats, score, screen, ship, aliens, bullets) #每次循环都重绘屏幕并使之可见 gf.update_screen(ai_settings, stats, score, screen, 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按钮 play_button = Button(ai_settings, screen, "Play") # 创建一个用于统计的实例 stats = Gamestats(ai_settings) # 创建一个外星人 alien = Alien(ai_settings, screen) # 设置背景色 bg_color = (230, 230, 230) # 创建一艘飞船 ship = Ship(ai_settings, screen) bullets = Group() aliens = Group() # Create the scoreboard sb = Scoreboard(ai_settings, screen, stats) # 开始游戏的主循环 while True: gf.check_events(ai_settings, screen, ship, bullets, stats, play_button, aliens, sb) gf.update_screen(ai_settings, screen, ship, aliens, bullets, play_button, stats, sb) if stats.game_active: gf.update_bullets(ai_settings, screen, ship, bullets, aliens, stats, sb) gf.update_aliens(ai_settings, aliens, ship, stats, screen, bullets, sb) ship.update()
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") #设置背景色 #bg_color=(230,230,230) #创建一艘飞船 ship = Ship(screen, ai_settings) #创建一个用于存储子弹的编组 bullets = Group() #创建一个外星人 #alien=Alien(ai_settings,screen) aliens = Group() #创建外星人群(在主循环外创建一批即可) gf.create_fleet(ai_settings, screen, ship, aliens) #创建一个用于储存游戏统计信息的实例 stats = Gamestats(ai_settings) #创建play按钮 play_button = Button(ai_settings, screen, "play") #开始游戏主循环 while True: #监听键盘和鼠标事件 gf.check_events(ai_settings, screen, stats, play_button, ship, bullets) if stats.game_active: ship.update() gf.update_bullets(ai_settings, screen, ship, aliens, bullets) gf.update_aliens(ai_settings, stats, screen, aliens, ship, bullets) gf.update_screen(ai_settings, screen, stats, ship, bullets, aliens, play_button)
def run_game(): """The main framework of alien_invasion""" # Initialize game, settings, and create a 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 ship, a group of bullets, and a group of aliens. ship = Ship(ai_settings, screen) bullets = Group() aliens = Group() # Create the fleet of aliens. gf.create_fleet(ai_settings, screen, ship, aliens) # Start the main loop for the game. while True: gf.check_events(ai_settings, screen, stats, sb, play_button, ship, aliens, bullets) if stats.game_active: ship.update() bullets.update() gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens, bullets) gf.update_aliens(ai_settings, stats, sb, screen, ship, aliens, bullets) gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button)
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") # Create an instance to store game statistics stats = Gamestats(ai_settings) sb = Scoreboard(ai_settings, screen, stats) # Set the background color. bg_color = (255, 255, 255) # Make a ship, a group of bullets, and a group of aliens. ship = Ship(screen) bullets = Group() aliens = Group() explosions = Group() # Create the fleet of aliens. gf.create_fleet(ai_settings, screen, ship, aliens) play_button = Button(ai_settings, screen, "PLAY") # Start the main loop for the game. while True: gf.check_events(ai_settings, screen, stats, sb, play_button, ship, aliens, bullets, explosions) if stats.game_active: ship.update() gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens, bullets, explosions) gf.update_aliens(ai_settings, stats, screen, ship, aliens, bullets) gf.update_screen(ai_settings, stats, screen, sb, ship, aliens, bullets, explosions, play_button)
def run_game(): pygame.init() ai_settings = Settings() # 创建一个宽1000像素、高600像素的游戏窗口 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 = Gamestats(ai_settings) sb = Scoreboard(ai_settings, screen, stats) # 创建一艘飞船、一个子弹编组和一个外星人编组 ship = Ship(ai_settings, screen) bullets = Group() aliens = Group() # 创建外星人群 gf.create_fleet(ai_settings, screen, aliens, ship) # 游戏主循环 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, stats, screen, ship, aliens, bullets) gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button)