Making Games with Python & Pygame 中文翻譯
Making Games with Python & Pygame 用Pygame做遊戲
第1章-安裝python和pygame
原文作者:Al Sweigart
翻譯:bigbigli/李超
禁止轉載
在開始做遊戲之前你應該知道什麼?
在閱讀這本書之前,如果你對Python編程有一點了解(或者如何使用Python之外的另一種語言編程),這可能會有所幫助;然而,即使你還沒有讀過這本書,你仍然可以讀這本書。
編程並不像人們想像的那麼難。
如果你遇到了一些麻煩,你可以在//inventwithpython.com上免費閱讀這本書——《Invent Your Own Computer Games with
Python》,或者在//inventwithpython.com/wiki上查找一個相關的問題。
在閱讀這本書之前,如果沒有了解過Pygame庫也沒關係,下一章是關於Pygame的所有主要特性和功能的簡短教程。
如果您還沒有閱讀過關於Python及pygame任何內容,也沒有安裝過Python及Pygame,那麼稍後我將詳細介紹如何安裝。如果您已經安裝了這兩個,那麼您可以跳過本章。
下載並安裝Python
在我們開始編程之前,您需要在電腦上安裝Python解釋器。解釋器是一個程式,它理解您將用Python編寫的說明。沒有解釋器,您的電腦將無法運行Python程式。 從現在開始,我們將把Python解釋器稱為Python。
Python解釋器可以從Python程式語言的官方網站下載,//www.python.org。 您可能需要其他人的幫助來下載和安裝Python軟體。安裝什麼樣的Python解釋器取決於您的電腦的作業系統是Windows、MacOSX還是Linux作業系統,如Ubuntu。你還可以在網上找到在電腦上安裝Python軟體的影片//invpy.com/installing。
Windows系統安裝python
當您訪問//python.org時,您應該看到左邊的鏈接列表(例如-about、-News、-Documentation、-Download等等)。點擊Download鏈接進入下載頁面,然後查找名為Python3.2Windows安裝程式的文件,然後單擊其鏈接下載Windows系統的Python。
雙擊剛剛下載的python-3.2.msi文件,啟動Python安裝程式。(如果沒有啟動,請嘗試右鍵單擊文件並選擇Install。) 一旦安裝程式啟動,只需繼續單擊Next按鈕,並接受在開始時安裝程式的選擇(不需要進行任何更改)。安裝完成後,單擊Finish。
Mac OS X系統
Mac OS X10.5附帶Python2.5.1由蘋果預裝。目前,Pygame只支援Python2,而不支援Python3(現在2020年已經支援)。然而,本書中的程式同時使用Python2和Python3。
Python網站(//docs.python.org/dev/using/mac.html)還有一些關於在Mac上使用Python的其他資訊。
啟動Python
我們將使用IDLE軟體鍵入我們的程式並運行它們。IDLE代表互動式開發環境。開發環境是使編寫Python程式變得容易的軟體,就像文字處理器軟體使編寫書籍變得容易一樣。
如果您的作業系統是WindowsXP,您可以通過單擊「開始」按鈕來運行Python,然後選擇Program – Python3.1 – IDLE(Python GUI)。對於Windows Vista或Windows7,只需單擊左下角的Windows按鈕,找到IDLE或者搜索IDLE並選擇就可以了。
如果您的作業系統是Max OS X,則通過打開Finder窗口並單擊Applications啟動IDLE,然後單擊Python3.2,然後單擊IDLE圖標就可以了。
安裝Pygame
安裝完Python後,並沒有自帶Pygame庫。像Python一樣,Pygame是免費的。您也需要下載和安裝Pygame,這與下載和安裝Python解釋器一樣容易。在瀏覽器中,轉到//pygame.org,然後單擊網站左側的Downloads下載鏈接。您需要下載作業系統的Pygame安裝程式和您安裝的Python版本,本書假設您下載的是Windows版本。
在Windows上,雙擊下載的文件安裝Pygame。 若要檢查Pygame是否安裝正確,請在互動式shell中鍵入以下內容:
import pygame
如果點擊Enter鍵後沒有出現任何東西,那麼您就知道Pygame已經成功安裝了。如果出現錯誤導入錯誤:沒有出現名為pygame的模組,則嘗試再次安裝Pygame(並確保輸入的pygame正確)。
本章有五個小程式,演示如何使用Pygame提供的不同功能。在最後一章中,您將使用這些特性來完成用Python編寫的帶有Pygame的完整遊戲。
關於如何安裝Pygame的影片教程可在本書的網站//invpy.com/videos查閱。
如何使用這本書
使用Python&Pygame製作遊戲不同於其他編程書,因為它專註於幾個遊戲程式的完整源程式碼。這本書沒有教你編程概念,而是讓你自己去弄清楚如何用這些概念製作程式,這裡向你展示了一些程式,然後解釋了它們是如何組合在一起的。
一般來說,你應該按順序閱讀這些章節。在這些遊戲中有許多概念被反覆使用,它們只在它們出現的第一個遊戲中被詳細解釋。但如果有一個你認為有趣的遊戲,直接跳到那一章先閱覽,如果你感覺自己能掌握,則可以隨時閱讀。
特色程式
每一章都是一個單一的遊戲程式,並解釋不同部分的程式碼是如何工作的。通過從本書中逐行輸入程式碼是非常有幫助的,但是,您也可以從本書的網站下載源程式碼文件。 在Web瀏覽器中,轉到URL //invpy.com/source並按照說明下載源程式碼文件。但是自己輸入程式碼確實可以幫助你更好地學習程式碼。
下載圖形和聲音文件
雖然你可以輸入你從這本書中讀到的程式碼,但你需要從//invpy.com/downloads下載這本書中遊戲使用的圖形和聲音文件,確保這些影像和聲音文件位於與.py Python文件相同的文件夾中,否則Python程式將無法找到這些文件。
行數和空間
自己輸入源程式碼時,不要輸入每一行開頭出現的行號。例如,如果你在書中看到這個:
您不需要在左側輸入1,2,3,4… …
應該這樣輸入:
number = random.randint(1, 20)
spam = 42
print('Hello world!')
這些數字只用於本書可以參考程式碼中的特定行,它們不是實際程式的一部分。
除了行號之外,請確保輸入的程式碼與顯示的完全一樣。請注意,有些行不是從頁面最左邊開始的,而是由四個或八個或更多空格縮進的。一定要在每一行的開頭加上正確的空格數。(由於IDLE中的每個字元都是相同的寬度,所以您可以通過計算正在查看的行上方或下方的字元數來計算空格數。)
例如,在下面的程式碼中,您可以看到第二行被四個空格縮進,因為上面一行的四個字元(while)位於縮進空間之上。第三行由另四個空格縮進(四個字元,如果n在第三行縮進空間之上):
while spam < 10:
if number == 42:
print('Hello')
這本書的文字包裝
有些程式碼行太長,不適合在本書的頁面上的一行,程式碼的文本將繞到下一行。當您在文件編輯器中輸入這些行時,在一行中輸入程式碼,而不按Enter鍵。
您可以通過查看程式碼左側的行號來判斷新行何時開始。例如,下面的程式碼只有兩行程式碼,儘管第一行繞到了下一行:
在線查看您的程式碼
這本書中的一些程式有點長。雖然通過輸入這些程式的源程式碼來學習Python是非常有幫助的,但您可能會意外地輸入導致程式崩潰的錯誤。錯誤在哪裡可能不明顯。
您可以將源程式碼的文本複製並粘貼到圖書網站上的在線diff工具中。diff工具將顯示書中的源程式碼和您鍵入的源程式碼之間的任何差異。這是在程式中查找任何錯誤的簡單方法。
複製和粘貼文本是一種非常有用的電腦技能,特別是對於電腦編程。在//invpy.com/copypaste這本書的網站上有一個關於複製和粘貼的影片教程。