項目名如標題,在《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() #運行遊戲