
因為這個遊戲很簡單,又很有成就感。
怎麼說呢?
先簡略介紹這款遊戲好了。
- 這款遊戲當年是在Dos系統下操作。
- 開始遊戲的時候,可以先選擇男生送報僮,或是女生送報僮。
- 必須將報紙丟入郵筒,才會得分。
- 必須用報紙丟準路上的障礙,包括修車行甩出的輪胎,衝出院子的狗,會追人的ghost...等,才不會game over。
- 亂丟住家玻璃或路人,會扣分。
現在拿出來複習這遊戲,感覺這真是一款社會寫實的遊戲啊。
但還沒說玩這款遊戲的成就感是甚麼。
我在玩這款遊戲時,網路才剛起飛。關鍵字下去搜尋引擎,出來不到幾筆的資料。除了當時很紅的網路聊天室,用來打字練習外,唯一有機會一直按鍵盤的,就是這個這個遊戲了。
嗯...一直按鍵盤,很好玩,鍵盤的聲音,喀喀喀的很好聽,這應該就是當時的我成就感吧!
再加上,避開每一關卡,歷經多次努力,到達終點破關,當時我想這就是學習電腦的意義吧!(誤)
考證照,就像打遊戲破關一樣。會遇到多次的失敗,但每次game over後,能否再次保持信心闖關,不斷地,就會進步,最終到達終點破關(拿到證照)。
但是,送報僮遊戲,與這篇的主題-函式,有什麼關係呢?
當送報僮把報紙精準丟進郵筒,會返回加分的結果。若送報僮亂丟報紙到住家玻璃或是路人,會返回扣分結果。
這就可以用函式來寫。進入主題-函式。
函式是什麼?
- 寫好要電腦做的事,全部放在一個自訂名稱的函式內,要用的時候,再呼叫 函式。
- 呼叫函式,就是執行函式中的內容(程式)。
- 搭配return,遇到return,就會直接跳出函式,直接返回return的內容給呼叫方。
設計函式的語法

好,讓我們用送報僮這個遊戲,來了解函式可以如何運用。
現在,我們想計算這個遊戲的總分。Score代表總分。
- 先設計一個名為Mailbox(郵筒信箱)的函式, 內容是加分。

在這個函式中,Mailbox就是函式的名字。
- 相同地,再設計另一個名為Miss(誤丟報紙)的函式,作為減分。

所以,現在有兩個函式,各自接收兩個參數。內容為,一個是加分,一個是減分。並且,都會接收傳過來的參數S給Score,也都用return回傳計算好的總分。
設計好函式後,接著宣告S為0。當作呼叫函式中傳遞的參數值。
S=0
S,就是一開始遊戲的總分。
在函式外,S無法被函式中的程式使用,但呼叫函式時,把S傳過去,S就可以在函式中被使用。
好喔,遊戲開始。
送報僮丟進郵筒時,我們就呼叫Mailbox()函式,如何呼叫呢?
Mailbox(),這樣就是呼叫函式。
那如何傳遞參數呢?
Mailbox(S),這樣就把S傳過去給函式Mailbox。
那S=Mailbox(S)是什麼?
S會接收呼叫函式的結果。
假設送報僮準確丟入報紙4次到郵筒,誤丟路人甲1次。
那就是呼叫4次Mailbox函式,1次Miss函式。接著,我們輸出看總分數S。
S=Mailbox(S)
S=Mailbox(S)
S=Mailbox(S)
S=Mailbox(S)
S=Miss(S)
print(S)

還記得,第一篇input中提到,同一個變數,後面輸入的,會蓋過前面嗎?
所以,會得到總分3。
關於更詳盡的函式用法,就加入TQC+ 程式語言Python3考照必勝專題(點此連結看介紹)。
今天又學會了函式的用法,寫成一包,然後呼叫函式執行。
這樣,是不是讓整段程式碼更簡潔好使用呢?
若你覺得這篇主題很簡單,那就加入專題考證照吧!
點入TQC+ 程式語言Python3考照必勝專題(點此連結看介紹)。
內有開放試閱篇。
喜歡這篇文章嗎? 請按下面的愛心,代表你覺得讚。
