waixingren/alien_invasion(1).py

47 lines
1.6 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#胡小小Python学习之路
#外星人入侵小游戏
# alien_invasion.py
import sys
# 模块sys用来退出游戏
import pygame
from settings import Setting
# 导入刚创建的设置类
from ship import Ship
# 导入管理飞船行为的类
import game_functions as gf
from pygame.sprite import Group
#Group类类似于列表
from alien import Alien
from game_stats import GameStats
from button import Button
from scoreboard import Scoreboard
def run_game():
pygame.init() #初始化屏幕对象
ai_settings = Setting()
# 创建Setting类的实例并存储在ai_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按钮
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,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)
run_game()