原文做者:Al Sweigart
翻譯:bigbigli/李超
禁止轉載html
在閱讀這本書以前,若是你對Python編程有一點了解(或者如何使用Python以外的另外一種語言編程),這可能會有所幫助;然而,即便你尚未讀過這本書,你仍然能夠讀這本書。python
編程並不像人們想象的那麼難。shell
若是你遇到了一些麻煩,你能夠在http://inventwithpython.com上免費閱讀這本書——《Invent Your Own Computer Games with
Python》,或者在http://inventwithpython.com/wiki上查找一個相關的問題。編程
在閱讀這本書以前,若是沒有了解過Pygame庫也不要緊,下一章是關於Pygame的全部主要特性和功能的簡短教程。小程序
若是您尚未閱讀過關於Python及pygame任何內容,也沒有安裝過Python及Pygame,那麼稍後我將詳細介紹如何安裝。若是您已經安裝了這兩個,那麼您能夠跳過本章。windows
在咱們開始編程以前,您須要在計算機上安裝Python解釋器。解釋器是一個程序,它理解您將用Python編寫的說明。沒有解釋器,您的計算機將沒法運行Python程序。 從如今開始,咱們將把Python解釋器稱爲Python。瀏覽器
Python解釋器能夠從Python編程語言的官方網站下載,http://www.python.org。 您可能須要其餘人的幫助來下載和安裝Python軟件。安裝什麼樣的Python解釋器取決於您的計算機的操做系統是Windows、MacOSX仍是Linux操做系統,如Ubuntu。你還能夠在網上找到在電腦上安裝Python軟件的視頻http://invpy.com/installing。dom
當您訪問http://python.org時,您應該看到左邊的連接列表(例如-about、-News、-Documentation、-Download等等)。點擊Download連接進入下載頁面,而後查找名爲Python3.2Windows安裝程序的文件,而後單擊其連接下載Windows系統的Python。編程語言
雙擊剛剛下載的python-3.2.msi文件,啓動Python安裝程序。(若是沒有啓動,請嘗試右鍵單擊文件並選擇Install。) 一旦安裝程序啓動,只需繼續單擊Next按鈕,並接受在開始時安裝程序的選擇(不須要進行任何更改)。安裝完成後,單擊Finish。編輯器
Mac OS X10.5附帶Python2.5.1由蘋果預裝。目前,Pygame只支持Python2,而不支持Python3(如今2020年已經支持)。然而,本書中的程序同時使用Python2和Python3。
Python網站(http://docs.python.org/dev/using/mac.html)還有一些關於在Mac上使用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圖標就能夠了。
安裝完Python後,並無自帶Pygame庫。像Python同樣,Pygame是免費的。您也須要下載和安裝Pygame,這與下載和安裝Python解釋器同樣容易。在瀏覽器中,轉到http://pygame.org,而後單擊網站左側的Downloads下載連接。您須要下載操做系統的Pygame安裝程序和您安裝的Python版本,本書假設您下載的是Windows版本。
在Windows上,雙擊下載的文件安裝Pygame。 若要檢查Pygame是否安裝正確,請在交互式shell中鍵入如下內容:
import pygame
若是點擊Enter鍵後沒有出現任何東西,那麼您就知道Pygame已經成功安裝了。若是出現錯誤導入錯誤:沒有出現名爲pygame的模塊,則嘗試再次安裝Pygame(並確保輸入的pygame正確)。
本章有五個小程序,演示如何使用Pygame提供的不一樣功能。在最後一章中,您將使用這些特性來完成用Python編寫的帶有Pygame的完整遊戲。
關於如何安裝Pygame的視頻教程可在本書的網站http://invpy.com/videos查閱。
使用Python&Pygame製做遊戲不一樣於其餘編程書,由於它專一於幾個遊戲程序的完整源代碼。這本書沒有教你編程概念,而是讓你本身去弄清楚如何用這些概念製做程序,這裏向你展現了一些程序,而後解釋了它們是如何組合在一塊兒的。
通常來講,你應該按順序閱讀這些章節。在這些遊戲中有許多概念被反覆使用,它們只在它們出現的第一個遊戲中被詳細解釋。但若是有一個你認爲有趣的遊戲,直接跳到那一章先閱覽,若是你感受本身能掌握,則能夠隨時閱讀。
每一章都是一個單一的遊戲程序,並解釋不一樣部分的代碼是如何工做的。經過從本書中逐行輸入代碼是很是有幫助的,可是,您也能夠從本書的網站下載源代碼文件。 在Web瀏覽器中,轉到URL http://invpy.com/source並按照說明下載源代碼文件。可是本身輸入代碼確實能夠幫助你更好地學習代碼。
雖然你能夠輸入你從這本書中讀到的代碼,但你須要從http://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工具將顯示書中的源代碼和您鍵入的源代碼之間的任何差別。這是在程序中查找任何錯誤的簡單方法。
複製和粘貼文本是一種很是有用的計算機技能,特別是對於計算機編程。在http://invpy.com/copypaste這本書的網站上有一個關於複製和粘貼的視頻教程。