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 年代經典街機遊戲的規則。
你有四條規則要實作,全都和遊戲狀態有關。
不用擔心引數是怎麼產生的,只要專注在組合這些引數、回傳預期的結果就好。
定義 eat_ghost() 函式,它接受兩個參數(Pac-Man 是否有能量球生效中 和 Pac-Man 是否碰到幽靈),並在 Pac-Man 能吃掉幽靈時回傳布林值。
只有在 Pac-Man 有能量球生效中且碰到幽靈時,這個函式才應該回傳 True。
>>> eat_ghost(False, True)
...
False
定義 score() 函式,它接受兩個參數(Pac-Man 是否碰到能量球 和 Pac-Man 是否碰到小點),並在 Pac-Man 得分時回傳布林值。
只要 Pac-Man 碰到能量球或小點,這個函式就應該回傳 True。
>>> score(True, True)
...
True
定義 lose() 函式,它接受兩個參數(Pac-Man 是否有能量球生效中 和 Pac-Man 是否碰到幽靈),並在 Pac-Man 落敗時回傳布林值。
如果 Pac-Man 碰到幽靈且沒有能量球生效中,這個函式就應該回傳 True。
>>> lose(False, True)
...
True
定義 win() 函式,它接受三個參數(Pac-Man 是否已經吃掉所有小點、Pac-Man 是否有能量球生效中,以及 Pac-Man 是否碰到幽靈),並在 Pac-Man 獲勝時回傳布林值。
如果 Pac-Man 已經吃掉所有小點,而且根據第 3 部分定義的規則判斷並未落敗,這個函式就應該回傳 True。
>>> win(False, True, False)
...
False