2020年9月11日星期五

002 零基礎入門學習Python(第2版) 第2章 用Python設計第一個遊戲

申明本站飛宇網 https://feiyetopro.blogspot.com/自網路收集整理之書籍文章影音僅供預覽交流學習研究,其[書籍、文章、影音]情節內容, 評論屬其個人行為, 與本網站無關。版權歸原作者和出版社所有,請在下載 24 小時內刪除,不得用作商業用途;如果您喜歡其作品,請支持訂閱購買[正版]謝謝!



2章 用Python設計第一個遊戲
2.1 第一個小遊戲
有讀者可能會說:哇,小甲魚(注:作者)!你開玩笑呢?這麼快就教我們開發遊戲啦?難道你不打算先講講變數、分支、迴圈、條件、函數等常規的內容?
沒錯的,大家如果繼續學下去就會發現,本書的教學會圍繞著一個個個性鮮明的實例來展開,跟著本書完成這些實例的編寫,你會發覺不知不覺中那些該掌握的知識,已經化作你身體的一部分了!這樣的學習方式才能充滿快樂並讓你一直期待下一章節的到來。
好,今天來講一下植物大戰僵屍這款遊戲的編寫……但這是不可能的,因為雖然說Python容易入門,但像植物大戰僵屍這類遊戲要涉及碰撞檢測、邊緣檢查、畫面刷新和音效等知識點比較多,需要將這些基礎知識累積完成才能開始講。
目前對於我們所掌握的基礎……貌似只有print()這個BIF,哦,BIF的概念甚至還沒講解……不過請淡定,這一點兒也不影響我們今天的節奏!
那麼今天是一個什麼樣的節奏呢?今天打算講一個文字遊戲……
先來看下這段代碼,並試圖猜測一下每條語句的作用:

# p2_1.py
"""--- 第一個小遊戲 ---"""
temp = input("不妨猜一下小甲魚現在心裡想的是哪個數字:")
guess = int(temp)
if guess == 8:
      print("你是小甲魚心裡的蛔蟲嗎?!")
      print("哼,猜中了也沒有獎勵!")
else:
      print("猜错啦,小甲魚現在心裡想的是8!")
print("遊戲結束,不玩啦^_^")



在這裡要求大家都動動手,親自輸入這些代碼,你需要做的是:
打開IDLE
選擇File->New Window命令(或者你可以直接按Ctrl+N鍵,在很多地方這個快速鍵都是新建一個檔的意思)。
按照上邊的格式填入代碼。
按快速鍵Ctrl+S,將原始程式碼保存為名為p2_1.py的文件。
輸完代碼一起來體驗一下,F5走起(也可以選擇Run->Run Module命令)!
程式執行結果如下:
不妨猜一下小甲魚現在心裡想的是哪個數字:5
猜錯啦,小甲魚現在心裡想的是8!
遊戲結束,不玩啦^_^

>>> 


提示
Tab按鍵的使用:
1)縮進。
2IDLE會提供一些建議,例如輸入pr TAB會顯示所有可能的命令供你參考。
OK,我們是看到程式成功跑起來了,但坦白說,這玩意兒配叫遊戲嗎?呃……沒事啦,咱慢慢改進,好,我們說下語法。
C-like語言(一切語法類似C語言的程式設計語言稱為C-like語言)程式設計經驗的朋友可能會受不了,變數呢?聲明呢?怎麼直接就給變數定義了呢!有些真正零基礎的讀者可能還不知道什麼是變數,不怕,隨著本書內容的展開,大家很快就能掌握相關的知識。有些讀者可能發現這個小程式沒有任何大括弧,好多程式設計語言都用大括弧來表示迴圈、條件等的作用域,而在Python這裡是沒有的。在Python中,只需要用適當縮進來表示即可。
2.2 縮進
縮進是Python的靈魂,縮進的嚴格要求使得Python的代碼顯得非常精簡並且有層次。但是,在Python裡對待代碼的縮進要十分小心,因為如果沒有正確地使用縮進,代碼所做的事情可能和你的期望相差甚遠(就像在C語言裡括弧打錯了位置)。
如果在正確的位置輸入冒號(:),IDLE會在下一行自動進行縮進。正如方才的代碼,在ifelse語句後邊加上冒號(:),然後按下回車,第二行開始的代碼會自動進行縮進。if條件下邊有兩個語句分別有縮進,那麼說明這兩個語句是屬於if條件成立後所需要執行的語句,換句話說,如果if條件不成立,那麼兩個縮進的語句就不會被執行。
提示
if…else…是一個條件分支,if後邊跟的是條件,如果條件成立,就執行以下縮進的所有內容;如果條件不成立,有else的話就執行else下縮進的所有內容。條件分支的內容在後邊還會做詳細的介紹。
2.3 BIF
接下來學習一個新的名詞:BIF
BIF就是Built-in Functions,內置函數的意思。什麼是內置函數呢?為了方便程式師快速編寫腳本程式(腳本就是要代碼編寫速度快快快!),Python提供了非常豐富的內置函數,只需要直接調用即可,例如print()是一個內置函數,它的功能是列印到螢幕,就是說把括弧裡的內容顯示到螢幕上。input()也是一個BIF,它的作用是接收用戶輸入並將其返回,在上方的代碼中,用temp這個變數來接收。Python的變數是不需要事先聲明的,直接給一個合法的名字賦值,這個變數就生成了。
提示
IDLE中輸入dir(__builtins__)可以看到Python提供的內置函數清單。
help()這個BIF用於顯示BIF的功能描述:
有些讀者可能會說,太多BIF學不過來記不過來怎麼辦?看不懂英文說明怎麼辦?Python3的資料太少怎麼辦?大家不用擔心,在接下來的每一個環節,作者都會教大家幾個常用的BIF的用法,然後在課後作業(注:每節課對應的課後作業需要在魚C論壇完成:http://bbs.fishc.com/forum-243-1.html)中強化大家的記憶。所以,大家只要嚴格跟著作者的腳步走,課後練習堅持自己獨立完成,相信即使覺得自己記性很差的朋友,也可以做到倒背如流!


0 留言:

發佈留言