學習軌道
/
Python
Python
/
練習
/
幽靈大啖街機遊戲
幽靈大啖街機遊戲

幽靈大啖街機遊戲

學習練習

簡介

Python 用 bool 型別來表示 true 和 false 這兩個值,它是 int 的子類別。 這個型別只有兩個值:True 和 False。 這些值可以綁定到變數上:

>>> true_variable = True
>>> false_variable = False

我們可以用 and、or 和 not 運算子來評估布林運算式:

>>> true_variable = True and True
>>> false_variable = True and False

>>> true_variable = False or True
>>> false_variable = False or False

>>> true_variable = not False
>>> false_variable = not True

說明

在這道練習中,你需要實作一些來自 Pac-Man 這款 1980 年代經典街機遊戲的規則。

你有四條規則要實作,全都和遊戲狀態有關。

不用擔心引數是怎麼產生的,只要專注在組合這些引數、回傳預期的結果就好。

1. 定義 Pac-Man 是否能吃掉幽靈

定義 eat_ghost() 函式,它接受兩個參數(Pac-Man 是否有能量球生效中 和 Pac-Man 是否碰到幽靈),並在 Pac-Man 能吃掉幽靈時回傳布林值。 只有在 Pac-Man 有能量球生效中且碰到幽靈時,這個函式才應該回傳 True。

>>> eat_ghost(False, True)
...
False

2. 定義 Pac-Man 是否得分

定義 score() 函式,它接受兩個參數(Pac-Man 是否碰到能量球 和 Pac-Man 是否碰到小點),並在 Pac-Man 得分時回傳布林值。 只要 Pac-Man 碰到能量球或小點,這個函式就應該回傳 True。

>>> score(True, True)
...
True

3. 定義 Pac-Man 是否落敗

定義 lose() 函式,它接受兩個參數(Pac-Man 是否有能量球生效中 和 Pac-Man 是否碰到幽靈),並在 Pac-Man 落敗時回傳布林值。 如果 Pac-Man 碰到幽靈且沒有能量球生效中,這個函式就應該回傳 True。

>>> lose(False, True)
...
True

4. 定義 Pac-Man 是否獲勝

定義 win() 函式,它接受三個參數(Pac-Man 是否已經吃掉所有小點、Pac-Man 是否有能量球生效中,以及 Pac-Man 是否碰到幽靈),並在 Pac-Man 獲勝時回傳布林值。 如果 Pac-Man 已經吃掉所有小點,而且根據第 3 部分定義的規則判斷並未落敗,這個函式就應該回傳 True。

>>> win(False, True, False)
...
False
透過 GitHub 編輯 連結會在新視窗或分頁中開啟
Python Exercism

準備好開始 幽靈大啖街機遊戲 了嗎?

註冊 Exercism,透過 17 個概念146 個練習 和真人引導來學習並精通 Python,全部免費。