Skip to content

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

C++ 戰棋遊戲專案 (Group 32)

專案簡介

這是一個使用 C++ 開發的回合制戰棋遊戲,兩個玩家各自控制一個隊伍,在地圖上進行策略對戰。遊戲包含多種角色類型、障礙物系統和回合制戰鬥機制。

功能特色

  • 雙隊伍對戰系統:兩個玩家各自控制一個隊伍(Team1 和 Team2)
  • 多種角色類型
    • Wizard(法師):攻擊範圍為 4×4 正方形
    • Knight(騎士):攻擊範圍為十字形(2×1 和 1×2)
    • Archer(弓箭手):攻擊範圍為 4×4 正方形
    • Tank(坦克):攻擊範圍為 3×3 正方形
  • 15×15 地圖系統:提供足夠的戰略空間
  • 障礙物系統
    • Supplement(+):恢復生命值
    • Plus(*):增強屬性
  • 回合制戰鬥:輪流進行攻擊和移動
  • 異常處理機制:完善的輸入驗證和錯誤處理

專案結構

project_group32/
├── main.cpp              # 主程序入口
├── character.h/cpp       # 角色類別定義與實作
├── Team.h/cpp            # 隊伍類別定義與實作
├── map.h/cpp             # 地圖類別定義與實作
├── Obstacle.h/cpp        # 障礙物類別定義與實作
├── exception.h/cpp       # 異常處理類別
├── message.h/cpp         # 訊息顯示功能
├── game.exe              # 編譯後的可執行檔
└── sources/              # 專案相關資源
    ├── demo_abstract_group32.txt
    ├── demo_screenshot_group32.jpg
    ├── demo_slides_group32.pdf
    └── demo_video_group32.mp4

編譯與執行

編譯方式

使用支援 C++ 的編譯器(如 g++)編譯:

cd project_group32
g++ -o game main.cpp character.cpp Team.cpp map.cpp Obstacle.cpp exception.cpp message.cpp

執行遊戲

./game

或直接執行已編譯的執行檔:

./game.exe

遊戲規則

  1. 隊伍設置

    • 每個隊伍最多 3 個角色
    • 每種角色類型最多可以添加 2 次
    • 角色必須放置在有效位置(地圖邊緣,避開中央區域)
  2. 角色放置限制

    • 座標範圍:0-14
    • 不能放置在中央區域(3-11, 3-11)
    • 兩個隊伍的角色不能重疊
  3. 遊戲流程

    • Team1 先手,輪流進行回合
    • 每個角色可以:
      • 選擇攻擊敵方角色
      • 移動到新位置
      • 檢查並觸發障礙物效果
    • 當一方隊伍所有成員生命值歸零時,遊戲結束
  4. 攻擊範圍

    • Wizard:4×4 正方形範圍
    • Knight:十字形範圍(上下左右各 2 格)
    • Tank:3×3 正方形範圍
    • Archer:4×4 正方形範圍

類別架構

Character(角色基類)

  • 基礎屬性:生命值、攻擊力、防禦力、速度
  • 位置座標(x, y)
  • 攻擊、移動、受傷等核心功能

角色子類別

  • Wizard1/Wizard2:法師角色
  • Knight1/Knight2:騎士角色
  • Archer1/Archer2:弓箭手角色
  • Tank1/Tank2:坦克角色

Team(隊伍類別)

  • 管理隊伍成員
  • 檢查隊伍狀態(是否全員陣亡)

Map(地圖類別)

  • 15×15 地圖管理
  • 角色和障礙物的放置與顯示

Obstacle(障礙物類別)

  • 障礙物效果應用
  • 位置管理

技術特點

  • 物件導向設計:使用繼承和多型實現不同角色類型
  • 異常處理:自定義異常類別處理各種錯誤情況
  • STL 容器:使用 vectormap 等標準容器
  • 輸入驗證:完善的用戶輸入檢查機制

開發團隊

Group 32

相關文件

  • 詳細報告請參閱 report_group32.pdf
  • 演示資源位於 project_group32/sources/ 目錄

授權

本專案為課程作業專案。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages