Skier(滑雪的人)是一個非常簡單的滑雪遊戲,靈感來自一個名叫 SkiFree 的遊戲。(你可以在 en.wikipedia.org/wiki/SkiFree 找到有關 SkiFree 的所有信息。)
在這個遊戲中,你要滑下小山,努力避開樹而且要盡量撿起小旗。撿起一個小旗得 10 分;碰到樹則會丟掉 100 分。
運行這個程序時,會看到如下圖所示的場景:
Skier 使用一個名叫 Pygame 的模塊來幫助實現圖形。Pygame 是一個 Python 模塊(module)(我們會在第 15 章更多地討論模塊)。如果你運行了這本書的安裝程序,那就已經安裝了 Pygame。如果尚未安裝,可以從 www.pygame.org 下載。我們會在第 16 章學習有關 Pygame 的內容。
這個程序需要如下一些圖形文件:
skier_down.pngskier_right1.png
skier_crash.pngskier_right2.png
skier_tree.png skier_left1.png
skier_flag.png skier_left2.png
可以在 \examples\skier 文件夾找到這些文件(如果運行過安裝程序),或者在本書的網站上也可以找到這些圖形文件。要把它們放在保存程序的同一個文件夾或目錄中,這一點非常重要。如果它們與程序不在同一個目錄下,Python 就無法找到這些文件,這個程序也將無法正常工作。
Skier 的代碼見代碼清單 10-1。這個代碼清單有點長,大約 100 行代碼(為了方便閱讀,這裡還加入了一些空行),不過建議你還是花點時間自己親手鍵入這些代碼。代碼清單中有一些說明,解釋了代碼所做的工作。注意,在代碼中看到 __init__
時,init
的兩邊各有兩條下劃線。也就是說,init
之前和之後都有兩條下劃線,而不是一邊一條。
代碼清單 10-1 Skier
代碼清單 10-1 的代碼已經放在 \examples\skier 文件夾中,所以如果你鍵入的程序無法執行,或者不想完全自己鍵入,也可以使用這個文件。不過不管你是否相信,與簡單地打開和查看代碼清單相比,親手鍵入這些代碼會讓你有更多收穫。
在後面的幾章,我們將會學習用於 Skier 中的所有關鍵字和技術。本書第 25 章將用一整章來詳細解釋 Skier 程序的工作原理。但是現在,你只需要鍵入這個程序,試著運行看看。
動手試一試
這一章你要做的只是鍵入這個 Skier 程序(代碼清單 10-1),再運行試試看。如果運行時遇到錯誤,看看錯誤消息,試著找出錯誤究竟出現在哪裡。
祝你好運!