讀古今文學網 > 父與子的編程之旅:與小卡特一起學Python > Skier >

Skier

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),再運行試試看。如果運行時遇到錯誤,看看錯誤消息,試著找出錯誤究竟出現在哪裡。

祝你好運!