Python外星人入侵完整程式碼和註釋(一)
阿新 • • 發佈:2019-01-07
本外星人入侵遊戲包括一個主執行程式(alien_invasion.py)和八個模組。
一、主執行程式(alien_invasion.py)
1、建立alien_invasion.py(import sys和import pygame)
2、方法run_game()
初始化遊戲並建立一個螢幕物件(是該專案的主程式入口)
while True :開始遊戲主迴圈 event :監視鍵盤和滑鼠事件
pygame.display.flip() :讓繪製的螢幕可見
主要程式碼
從主執行程式中,匯入其它八個模組
import sys import pygame from settings import Settings from game_stats import GameStats from ship import Ship import game_functions as gf from pygame.sprite import Group from alien import Alien from button import Button from scoreboard import 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按鈕 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) #設定背景顏色 #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.game_active: #更新飛船的位置 ship.update() #所有未消失的子彈的位置 gf.update_bullets(ai_settings,screen,stats,sb,ship,aliens,bullets) #更新外星人的位置 gf.update_aliens(ai_settings,stats,screen,sb,ship,aliens,bullets) #更新後的位置來繪製新螢幕 gf.update_screen(ai_settings,screen,stats,sb,ship,aliens,bullets,play_button) run_game()