當前位置:成語大全網 - 新華字典 - Python從入門到實踐裏的《外星人入侵》

Python從入門到實踐裏的《外星人入侵》

項目名如標題,在《python編程:從入門到實踐》裏有完整詳細的說明,網上也能查到源碼,這裏只是在重復這種程序

不過學編程,借鑒模仿很重要,即使抄輪子也得抄個像模像樣才行,抄到即是學到。

進入正題:

遊戲很簡單,就是壹個打飛機類型的遊戲,以下代碼將實現遊戲的主程序,飛船的基本操作等。

註:這裏提醒新上手的萌新,python的代碼不要隨便復制粘貼!

不要隨便復制粘貼!

不要隨便復制粘貼!

python的縮進很嚴格,復制粘貼後壹定要註意格式是否正確,否則會報出異常:

IndentationError: unexpected indent

未知的縮進錯誤

當出現此提示時,要檢查壹下哪裏的縮進出現了問題,小段的代碼還好,大段的代碼就呵呵了

註意下載好的文件後綴名為.whl

然後新建壹個文件夾,名字叫alien_invasion,將下載好的模塊放在此文件夾下,

然後妳要新建以下文件:

1.?alien_invasion.py 遊戲主程序

2.?game_functions.py 存放遊戲函數

3.?bullet.py 子彈模塊

4.?settings.py 遊戲設置模塊

5.?ship.py 飛船模塊

然後新建images文件夾存放飛船素材。

這些會讓我們實現啟動遊戲,飛船的顯示與移動,以及開火功能。

為避免文章冗~長,這裏貼壹段主程序代碼,其它代碼下周見(偷懶)。

alien_invasion.py

#!usr/bin/env python3

#_*_ coding:utf-8 _*_

#此模塊是遊戲的主程序

import sys

import game_functions as gf #導入game_functions文件,並指定了別名gf

import pygame

from settings import Settings

from ship import Ship

from pygame.sprite import Group

def run_game():

# 初始化遊戲並創建壹個屏幕對象

pygame.init() #pygame的init函數,用於創建壹個遊戲對象

#把Setting類實例化

ai_settings = Settings()

#顯示遊戲窗口並設置其大小

screen = pygame.display.set_mode(

(ai_settings.screen_width,ai_settings.screen_height))

#設置窗口標題

pygame.display.set_caption("Alien Invasion")?

# 把Ship類實例化,用於創建飛船

ship = Ship(ai_settings,screen)

#存儲子彈的編組

bullets = Group()

#開始遊戲的主循環

while True:

#用於響應鼠標,鍵盤事件

gf.check_events(ai_settings,screen,ship,bullets)

#更新飛船在屏幕的位置

ship.update()

#更新子彈位置並刪除消失的子彈

gf.update_bullets(bullets)

#用於更新屏幕背景色,更新飛船,子彈等

gf.update_screen(ai_settings,screen,ship,bullets)

run_game() #運行遊戲