MIS 109403019 鄒翔宇, MIS 109403021 傅珩洵
Note: 斜線表示之數值會依據遊戲體驗進行調整
- 遊戲模式:單人遊戲(未來會考慮加入雙人模式)
- 玩家目標:獲得高分,分數會隨著時間持續累加,存活越久分數會越高。
角色 | 描述 | 外觀 |
---|---|---|
倖存者 | 玩家操控的角色。單人遊戲時使用 WASD 鍵控制。 倖存者的目標是躲避殭屍,避免觸碰到殭屍導致死亡。 |
|
殭屍 | 皆由電腦控制,遊戲開始時有一隻,每隔 10 秒會從固定位置增加一隻, 最多增加到 15 隻。每隻殭屍速度不一且隨機,殭屍會持續往倖存者的位置移動。 |
GG! Next life!
倖存者被殭屍觸碰到,便會死亡,遊戲結束。
遊戲過程中,每 7.5 秒,會隨機生成類的以下其中一個道具,玩家可以拾取道具獲得暫時的增益效果
道具 | 描述 | 外觀 |
---|---|---|
閃電 | 玩家移動加速 3 秒 | |
冰凍 | 所有殭屍暫停移動 3 秒 | |
無敵 | 玩家觸碰到殭屍不會結束遊戲,持續 3 秒 | |
鈔票 | 分數累加速度加快 3 秒 |
git clone git@github.com:xxrjun/battle-royale.git
# or
git clone https://github.com/xxrjun/battle-royale.git
cd battle-royale/bin
battle_royale.exe
# or
./battle_royale.exe
也可以打開資料夾找到 battle_royale.exe
並執行
需要安裝 MASM32
make # or make all
battle-royale/
│
├── src/ # 源代碼目錄
│ └── battle_royale.asm # 主程式
│
├── bin/ # 編譯後的二進制文件和可執行文件
│ └── battle_royle.exe # 可執行文件
│
├── docs/ # 文件目錄
│ └── development.md # 開發相關文檔
│
├── assets/ # 資源文件,如圖像、音效等
│ ├── docs/ # 文件用圖像
│ ├── images/ # 遊戲用圖像
│ └── sounds/ # 遊戲用音效
│
├── Makefile # 編譯腳本
├── README.md # 專案說明文件
└── .gitignore # Git忽略文件配置
- WinMain: 程序的主入口點。負責初始化應用程序並進入消息循環。
- WndProc: 處理窗口消息的過程。
- TopXY: 計算窗口在屏幕上的位置。
- generateRandomNum: 生成範圍內的隨機數。
- initGameplay: 初始化遊戲的主要變數。
- paintBackground: 繪製遊戲背景。
- paintScoreBar: 繪製分數條。
- paintPlayer: 繪製玩家角色。
- paintZombie: 繪製所有殭屍。
- playSound: 播放聲音。
- paintGadget: 繪製遊戲中的道具。
- updateScrenn: 更新遊戲畫面。
- updatePlayerPosition: 更新玩家位置。
- activateZombie: 激活一隻新的殭屍。
- updateZombiePositions: 更新所有殭屍的位置。
- checkZombieCollision: 檢查殭屍與玩家之間的碰撞。
- checkGadgetCollision: 檢查道具與玩家之間的碰撞。
- checkBuffEffect: 檢查道具效果。
- ThreadProc: 遊戲主循環的線程過程。
- MASM32 SDK - 工具集,包含 assembler、editor、linker 等工具
- Assembler:
ml.exe
用於將組合語言源代碼轉換成機器代碼。 - Linker:
link.exe
用於將組譯器產生的對象檔案連結成可執行檔案。
- Assembler:
- Visual Studio Code, MASM Editor - 編輯器,用於編寫組合語言程式碼
- ChatGPT with GPT4.0 - 協作工具,詢問程式碼、開發問題等
- draw.io - 繪圖工具,用於繪製專案架構、流程圖
- DALL·E - 圖片生成工具,用於製作遊戲素材
- Mixkit - 遊戲音效素材
- Cyberpunk Computer Game | IDRA by Alex-Productions - 背景音樂
Credit for Music: Music promoted by Chosic, Creative Commons CC BY 3.0
xxrjun |
FuHarrison |