Skip to content

paiyu-su/Frogger-Game

Repository files navigation

Frogger Game(青蛙過馬路)

一、專案簡介

本專案使用 C++ 開發一款文字介面的青蛙過馬路遊戲(Frogger Game)。

玩家需要控制青蛙穿越馬路,避開移動中的車輛並成功抵達終點。為了提升遊戲的趣味性與挑戰性,本專案加入了難度系統、金幣系統以及紅綠燈系統。

本專案採用物件導向程式設計(Object-Oriented Programming, OOP)與模組化設計方式開發,將遊戲功能拆分成多個類別,以提高程式的可讀性、維護性與擴充性。

二、遊戲功能

1. 難度系統

玩家可於遊戲開始時選擇不同難度。

Easy: 生命值 5、車輛數量 4、遊戲速度較慢。

Normal: 生命值 3、車輛數量 6、遊戲速度適中。

Hard: 生命值 2、車輛數量 8、遊戲速度較快。

透過不同的參數設定,增加遊戲的挑戰性與可玩性。

2. 金幣系統

遊戲地圖中會隨機產生金幣。

當玩家取得金幣時,可以獲得 50 分,並於地圖上重新生成新的金幣位置。

此功能增加玩家探索地圖與收集資源的樂趣。

3. 紅綠燈系統

遊戲中加入交通號誌機制。

綠燈時,車輛會正常移動。

紅燈時,所有車輛暫停移動。

玩家可利用紅燈時間安全通過馬路,增加遊戲策略性與真實感。

4. 關卡系統

當玩家成功抵達終點時:

  • 分數增加 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

五、類別設計

Game

負責整體遊戲控制,包括:

  • 遊戲主迴圈
  • 玩家輸入
  • 畫面更新
  • 分數管理
  • 關卡控制
  • 碰撞偵測

Frog

負責儲存青蛙位置與控制玩家移動。

Car

負責儲存車輛位置與控制車輛移動方向。

Coin

負責儲存金幣位置以及控制金幣生成與收集狀態。

六、使用技術

  • C++
  • Object-Oriented Programming(OOP)
  • Encapsulation(封裝)
  • Modular Programming(模組化設計)
  • Visual Studio 2022
  • CMake

七、學習成果

透過本專案,我學習到:

  1. 物件導向程式設計(OOP)
  2. 類別封裝與資料保護
  3. 模組化開發方式
  4. 遊戲迴圈設計(Game Loop)
  5. 碰撞偵測機制
  6. Visual Studio 除錯技巧
  7. Git 與 GitHub 版本控制

八、未來可擴充功能

  1. 河流與木頭系統
  2. 障礙物系統
  3. 商店系統
  4. 排行榜系統
  5. 存檔功能
  6. 圖形化介面(SFML 或 SDL)

九、作者資訊

姓名:蘇姵予

課程:程式設計-期末專題

專案名稱:Frogger Game(青蛙過馬路)

十、課堂心得

透過這學期的 C++ 課程,我學習到物件導向程式設計的基本概念,例如類別、封裝以及模組化設計,也了解如何將課堂上學到的知識實際應用在專案開發中。除了程式撰寫能力有所提升之外,也讓我對程式架構規劃與問題分析有更進一步的認識。這門課不僅讓我學會如何寫程式,更讓我了解如何完成一個完整的程式專案。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors