
在上一篇裡,我們談到if是遊戲的起點。
因為沒有判斷,就沒有選擇。
但如果只有if,遊戲其實還是不完整。
只有成功的世界,不是遊戲。
想像一個遊戲世界:
- 攻擊一定命中
- 跳躍一定成功
- 解謎一定正確
玩家不需要思考,也不需要承擔後果。
這樣的體驗,很快就會變得無聊。
因為遊戲的樂趣,來自於風險。
else 是「如果你失敗了,會發生什麼」。
在程式裡,else的意思很簡單:
如果條件不成立,就做另一件事。
但在遊戲設計裡,它代表的是:
當玩家做錯選擇時,遊戲世界如何回應他。
這個回應,可能是懲罰,也可能只是提醒。
一個最基本的例子:
```gdscript
if hp > 0:
do_action()
else:
die()
```
這段程式不是在展示語法。
它在描述一個規則:
- 只要角色還活著,就能行動
- 一旦生命歸零,行動就必須停止
else 在這裡不是備用方案,而是世界的底線。
失敗不是錯誤,是設計的一部分
很多初學者會下意識地避免else。
因為它看起來像是「出錯時才會走到的路」。
但在遊戲裡,失敗本來就應該被預期。
- 玩家會跳錯
- 玩家會被打中
- 玩家會解錯謎
如果你沒有為這些情況寫 else,
那只是代表你還沒設計完。
懲罰不一定要痛,但一定要存在
else 不一定代表「死亡」。
它可以是:
- 扣一點血
- 播放失敗音效
- 顯示提示文字
- 重置位置
例如:
```gdscript
if is_on_ground and not be_cursed :
jump()
else:
If be_cursed :
play_fail_sound()
else:
pass
```
這裡的else沒有懲罰玩家,
但它告訴玩家:現在你雖然在地上,卻因為詛咒而沒法跳躍。
沒有 else,就沒有學習
玩家是透過「嘗試 → 失敗 → 修正」來學會遊戲的。
而else,正是這個循環的關鍵。
- if:你做對了
- else:你做錯了,這是後果
如果沒有後果,玩家就不會改變行為。
else 是遊戲節奏的控制器
你可以用else來決定:
- 失敗要不要立刻結束
- 要不要給第二次機會
- 懲罰是輕微還是嚴重
這些都不是技術問題,而是設計選擇。
本篇小結
- else不是補充語法,而是失敗的定義
- 遊戲需要風險,風險需要後果
- 懲罰不一定殘酷,但一定要明確
- 沒有else,玩家就學不到任何東西














