Python 遊戲程式設計,初試身手
2012/12/17 10:59
瀏覽13,345
迴響4
推薦30
引用0
今天剛剛結束在 Coursera 上修的一門 Python 程式設計課程,內容充實,老師教得很好。
[[March-31-2013 更新:四月15日,這一門課又重新開始,這一次是9週的課,網址如下:https://www.coursera.org/course/interactivepython]]
授課老師 Joe Warren 有超過25年的教學經驗,但是面對網路教學成千上萬來自全球各地的學生,還真是使出渾身解數,教得非常精采。Scott Rixner 是整個課程的核心人物,他設計的 codeskulptor (http://www.codeskulptor.org/) 讓大家使用網頁就可以編寫以及執行程式碼,交作業時,只需一串網址即可,大家使用相同的介面,在學習以及討論時,可以避免因為使用版本差異的問題。整個課程,我只在 Chrome 上,使用 codeskulptor 就可以完成所以程式設計。
Scott 利用一次渡假期間,用 Javascript 寫出整個 codeskulptor,為 Rice University 開的這門 Python 程式設計課程,量身打造一個只需網頁瀏覽器就可以執行的 Python 學習環境,功力很強。他比較Javascript 和 Python 之後,他覺得 Python 有較多優點,我是初學者,還沒領會到這一層。
Python 在科學運用,有愈來愈多的應用,Open source 是一個因素,簡單易用,功能強大,更是 Python 受歡迎的特點。最近讀過不少和我研究工作相關的學文獻,使用 Python 開發的軟體,看起來和 Matlab, LabVIEW 等商業軟體一樣,漸漸在科學研究的領域佔有一席之地。
在這裡,分享我設計的幾個小遊戲,都是我修這門課繳交的作業,建議使用 Chrome 或 Safari 瀏覽器:
玩法:點選我所設定該程式碼的連結,會自動連到 codeskulptor 網頁上,按左上方的三角形就可開始執行程式碼玩遊戲(如下圖),若要終止程式,可按最右邊的彎曲箭頭按鈕。你也可以任意更改我的程式碼,再執行看看有何改變。若你有改進的版本,可按第二磁碟形狀的按鈕存檔,你就可以把網址列出現的新網址分享出去。
1. Pong -- 一個很古典的電視遊樂器。user 1 用 "w", "s" , user 2 用 "up", "down" 控制游標擊球。

2. Memory -- 記憶遊戲。用滑鼠點擊卡片,猜對同一對號碼得分,猜不對,卡片翻回背面。

3. Blackjack -- 21 點。按 Hit 莊家開始發牌,按 Stand 莊家現牌,按 Deal 洗牌。

4.RiceRocks (Asteroids) -- 太空飛船。按「左」、「右」鍵控制飛船方向,「上」鍵控制推進引擎,「空白鍵」發射飛彈。

參考資料:
課程網站
An Introduction to Interactive Programming in Python
Joe Warren, Scott Rixner, John Greiner, Stephen Wong
Rice University
Coursera (https://www.coursera.org/)
限會員,要發表迴響,請先登入
迴響(4) :
- 4樓. 育2016/11/10 14:07請問一下 第一個遊戲 如果兩人同時按上或下 為什麼不會互相影響 ? 還有這可能寫一邊能AI ?
- 3樓. 阿龍(davis)2014/05/15 16:16
請問,只有simplegui的差別嗎?? 我是蠻想讓遊戲在我的PC上執行
在 CodeSkulptor 這個設計給網路環境練習寫 python code 的平台,讓初學者很方便能跟著老師的範例,測試程式是否正確,可以很快學到設計的概念和技巧,但是可攜性不高。在PC 跑這些程式碼,還要做大幅修改,倒不如重寫一次,可能比較直接。也許可以找其他教 python 的課,是在 PC 上執行的,可能比較適合你來學。 瘦骨 於 2014/05/23 20:25回覆
2樓. 吳先生2013/05/31 10:40有問題請解答
請問一下為什麼我把你的程式碼複製下來無法執行,是因為沒有圖檔嗎?
這些程式碼需要在 CodeSkulptor 才能執行,在這個環境,不需安裝 python 就能在網頁瀏覽器開始練習寫程式,你會發現我用 import的方式,把一些 module 套用進來,但這些 module 都只能在 Codeskulptor 執行。
如果你使用安裝在 pc 上的 python 開發環境,無法使用 simplegui 這個 module (至少我在修課時還沒有做出給 pc 上用的),所以無法正確執行我的程式碼。
其實原理都是一樣的,我相信你還是可以找到類似功能的 module ,在 pc 單機上做出類似的功能。瘦骨 於 2013/06/06 00:33回覆
1樓. tjw2013/03/04 15:01邀分享
您好: 能否將您在 coursea 上學習得相關心得,到 PyCon Taiwan 投成演講分享呢? (google 搜 tw.pycon)有意思,在中研院舉行的研討會,我人在國外,不然也想去聽聽看大家怎麼應用Python在各種不同的領域。有興趣的朋友不要錯過了這場盛會。
PyCon Taiwan 2013
中央研究院人文社會科學館 5月25-26日
瘦骨 於 2013/04/01 00:41回覆



















