操作方式 Controls
- 移動:方向鍵或 WASD
- 暫停/恢復遊戲:P(暫停畫面上也有按鈕,可直接回到開始畫面)
- 開始/重新開始/確認:ENTER
- 離開遊戲:ESC(會先顯示致謝畫面才關閉,再按一次可直接關閉)
- 在開始畫面查看本說明:H
- 調整音量:按 − 降低、按 + 提高(畫面會顯示目前音量百分比)
- 視窗大小:可直接用滑鼠拖曳視窗邊緣縮放,畫面會自動維持比例。
- 代打模式:開始畫面點綠色按鈕,讓電腦接手(一樣要遵守所有規則)。
Python 3.12 · Pygame · Desktop Game
從鍵盤操作、鬼魂行為到自動路徑規劃,我把一個看似簡單的街機玩法,做成真正能操作、能展示的桌面遊戲。
開發人|賴子渝
01 · Motivation & Goal
我選小精靈,是因為它的規則很容易理解,實作時卻得同時處理輸入、碰撞、移動與敵人行為。
02 · How to Play
畫面上方會即時顯示通關計時,吃完所有豆子即可過關。
03 · System Architecture
game.py 是主控制器,負責接收操作、更新遊戲狀態,再呼叫各模組完成移動、碰撞、畫面與音效。
game.py
主迴圈、畫面狀態、事件處理、自動遊玩與模組協調
player.py玩家輸入、移動動畫與隧道
ghost.py四種鬼魂行為與狀態
maze.py地圖資料、豆子與牆壁判定
fruit.py水果生成、分數與繪圖
audio.py背景音樂、音效與音量
settings.py速度、分數、時間與素材路徑
04 · 核心開發工具
本遊戲使用 Python 3.12 開發,三個主要工具分別負責遊戲執行、短期記憶與 Windows 打包。
建立視窗、接收鍵盤指令、繪製畫面與播放音效,並透過 Clock.tick 將更新速度控制在每秒 60 幀。
記住自動遊玩最近走過的 8 個格子,降低角色在相同路線反覆徘徊的情況。
將程式、圖片與音樂打包成單一 Windows .exe,讓沒有安裝 Python 的電腦也能直接執行。
05 · Results & Roadmap
目前已完成一個可操作關卡、四種鬼魂追擊方式、自動遊玩展示與 Windows 執行檔。
未來規劃
預計在現有地圖之外新增 2 張地圖,形成共 3 張地圖;玩家過關後依序解鎖下一張。
預計在本機保存每張地圖前 10 名分數,並在開始畫面的排行榜中依地圖切換查看。
06 · References
協助釐清需求、提供程式碼草稿,並在程式卡關時一起討論,找出問題的真正原因。
主要查閱 pygame.draw 向量繪圖、key.get_pressed() 輸入輪詢、mixer 音訊播放與 Clock.tick 影格控制的正確用法。
確認經典規則的官方細節:四隻鬼的性格設定、散開/追擊模式交替、連續吃鬼 200/400/800/1600 分的遞增規則,以及加命門檻。
謝謝老師的指導與同學們的聆聽,接下來請大家實際體驗看看吧!