本專案使用 C++ 開發一款文字介面的青蛙過馬路遊戲(Frogger Game)。
玩家需要控制青蛙穿越馬路,避開移動中的車輛並成功抵達終點。為了提升遊戲的趣味性與挑戰性,本專案加入了難度系統、金幣系統以及紅綠燈系統。
本專案採用物件導向程式設計(Object-Oriented Programming, OOP)與模組化設計方式開發,將遊戲功能拆分成多個類別,以提高程式的可讀性、維護性與擴充性。
玩家可於遊戲開始時選擇不同難度。
Easy: 生命值 5、車輛數量 4、遊戲速度較慢。
Normal: 生命值 3、車輛數量 6、遊戲速度適中。
Hard: 生命值 2、車輛數量 8、遊戲速度較快。
透過不同的參數設定,增加遊戲的挑戰性與可玩性。
遊戲地圖中會隨機產生金幣。
當玩家取得金幣時,可以獲得 50 分,並於地圖上重新生成新的金幣位置。
此功能增加玩家探索地圖與收集資源的樂趣。
遊戲中加入交通號誌機制。
綠燈時,車輛會正常移動。
紅燈時,所有車輛暫停移動。
玩家可利用紅燈時間安全通過馬路,增加遊戲策略性與真實感。
當玩家成功抵達終點時:
- 分數增加 100 分
- 關卡提升
- 遊戲速度增加
使遊戲難度隨著關卡逐漸提高。
W:向上移動
S:向下移動
A:向左移動
D:向右移動
Frogger
├─ include
│ ├─ Game.h
│ ├─ Frog.h
│ ├─ Car.h
│ └─ Coin.h
├─ src
│ ├─ main.cpp
│ ├─ Game.cpp
│ ├─ Frog.cpp
│ ├─ Car.cpp
│ └─ Coin.cpp
├─ README.md
├─ CMakeLists.txt
└─ .gitignore
負責整體遊戲控制,包括:
- 遊戲主迴圈
- 玩家輸入
- 畫面更新
- 分數管理
- 關卡控制
- 碰撞偵測
負責儲存青蛙位置與控制玩家移動。
負責儲存車輛位置與控制車輛移動方向。
負責儲存金幣位置以及控制金幣生成與收集狀態。
- C++
- Object-Oriented Programming(OOP)
- Encapsulation(封裝)
- Modular Programming(模組化設計)
- Visual Studio 2022
- CMake
透過本專案,我學習到:
- 物件導向程式設計(OOP)
- 類別封裝與資料保護
- 模組化開發方式
- 遊戲迴圈設計(Game Loop)
- 碰撞偵測機制
- Visual Studio 除錯技巧
- Git 與 GitHub 版本控制
- 河流與木頭系統
- 障礙物系統
- 商店系統
- 排行榜系統
- 存檔功能
- 圖形化介面(SFML 或 SDL)
姓名:蘇姵予
課程:程式設計-期末專題
專案名稱:Frogger Game(青蛙過馬路)
透過這學期的 C++ 課程,我學習到物件導向程式設計的基本概念,例如類別、封裝以及模組化設計,也了解如何將課堂上學到的知識實際應用在專案開發中。除了程式撰寫能力有所提升之外,也讓我對程式架構規劃與問題分析有更進一步的認識。這門課不僅讓我學會如何寫程式,更讓我了解如何完成一個完整的程式專案。