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")
Beispiel #2
0
    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")
Beispiel #3
0
 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)
Beispiel #6
0
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)
Beispiel #8
0
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)
Beispiel #9
0
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)
Beispiel #10
0
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)
Beispiel #12
0
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)
Beispiel #14
0
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)
Beispiel #18
0
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)
Beispiel #20
0
    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)     
Beispiel #22
0
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)
Beispiel #23
0
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)
Beispiel #24
0
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)
Beispiel #25
0
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)
Beispiel #26
0
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()
Beispiel #27
0
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)
Beispiel #28
0
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)
Beispiel #30
0
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)