You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/zh-HK/6-space-game/6-end-condition/assignment.md

6.8 KiB

建立範例遊戲

作業概覽

既然你已經掌握了太空遊戲中的遊戲結束條件和重啟功能,現在是時候將這些概念應用於全新的遊戲體驗。你將設計並製作自己的遊戲,展示不同的結束條件模式和重啟機制。

本作業挑戰你對遊戲設計的創意思考,同時練習你學到的技術技能。你將探索不同的勝利與失敗場景、實作玩家成長,並創造吸引人的重啟體驗。

專案需求

核心遊戲功能

你的遊戲必須包含以下關鍵元素:

結束條件多樣性:實作至少兩種不同的遊戲結束方式:

  • 基於點數的勝利:玩家達到目標分數或收集特定物品
  • 基於生命的失敗:玩家失去所有可用生命或生命值
  • 目標完成:所有敵人被擊敗、特定物品被收集或目標達成
  • 基於時間:遊戲在設定時間結束或倒數計時歸零時結束

重啟功能

  • 清除遊戲狀態:移除所有先前遊戲物件並重設變數
  • 重新初始化系統:以新的玩家狀態、敵人和目標重新開始
  • 使用者友善的操作:提供明確的重啟遊戲指示

玩家回饋

  • 勝利訊息:透過正面回饋慶祝玩家成就
  • 失敗訊息:提供鼓勵話語激勵玩家重玩
  • 進度指示:顯示當前分數、生命或目標狀態

遊戲點子與靈感

選擇以下遊戲概念其一或自行創作:

1. 主控台冒險遊戲

製作具有戰鬥機制的文字冒險:

Hero> Strikes with broadsword - orc takes 3p damage
Orc> Hits with club - hero takes 2p damage  
Hero> Kicks - orc takes 1p damage
Game> Orc is defeated - Hero collects 2 coins
Game> ****No more monsters, you have conquered the evil fortress****

要實作的關鍵功能:

  • 回合制戰鬥,具備不同攻擊選項
  • 玩家與敵人皆有生命值
  • 蒐集金幣或物品的物品欄系統
  • 多種敵人類型,難度各異
  • 當所有敵人被擊敗即為勝利條件

2. 收藏遊戲

  • 目標:收集特定物品並避開障礙
  • 結束條件:達到目標收集數或失去所有生命
  • 進展:隨遊戲進行物品變得更難收集

3. 解謎遊戲

  • 目標:解開日益困難的謎題
  • 結束條件:完成所有關卡或用完移動次數/時間
  • 重啟:重設至第一關並清除進度

4. 防禦遊戲

  • 目標:保護基地抵禦敵人波次
  • 結束條件:生存所有波次(勝利)或基地被摧毀(失敗)
  • 進展:敵人波次增加難度與數量

實作指引

開始步驟

  1. 規劃你的遊戲設計

    • 繪製基本遊戲循環草圖
    • 清楚定義你的結束條件
    • 確認重啟時需要重設哪些資料
  2. 建立專案結構

    my-game/
    ├── index.html
    ├── style.css
    ├── game.js
    └── README.md
    
  3. 建立核心遊戲循環

    • 初始化遊戲狀態
    • 處理使用者輸入
    • 更新遊戲邏輯
    • 檢查結束條件
    • 呈現目前狀態

技術需求

使用現代 JavaScript

  • 使用 constlet 來宣告變數
  • 適當使用箭頭函數
  • 實作 ES6+ 的功能,例如模板字串與解構賦值

事件驅動架構

  • 建立使用者互動事件處理器
  • 透過事件實作遊戲狀態變化
  • 使用事件監聽器支援重啟功能

良好程式碼慣例

  • 編寫單一職責的函式
  • 使用具描述性的變數與函數名稱
  • 添加說明遊戲邏輯與規則的註解
  • 程式碼依邏輯區段組織

繳交需求

繳交資料

  1. 完整遊戲檔案:包含所有執行遊戲所需的 HTML、CSS 及 JavaScript 檔案
  2. README.md:文件說明:
    • 如何遊玩你的遊戲
    • 你實作了哪些結束條件
    • 重啟指令說明
    • 任何特殊功能或機制
  3. 程式碼註解:清楚解釋你的遊戲邏輯與演算法

測試檢查表

提交前請確認你的遊戲:

  • 在瀏覽器控制台沒有錯誤
  • 實作多種結束條件
  • 能夠正確重啟並重設狀態
  • 提供清楚的遊戲狀態回饋
  • 使用現代 JavaScript 語法與最佳實作
  • README.md 包含完整文件說明

評分標準

評分標準 優異 (4) 熟練 (3) 進展中 (2) 初學 (1)
遊戲功能 完整遊戲,多種結束條件,順暢重啟,遊玩體驗優良 全遊戲含基本結束條件及功能性重啟機制 部分遊戲,有部分結束條件,重啟有些微問題 遊戲不完整,功能有限且有明顯錯誤
程式碼品質 乾淨、組織良好程式碼,用現代 JavaScript詳盡註解結構優良 良好程式碼組織,使用現代語法,足夠註解,結構清楚 基本程式碼組織,部分現代語法,註解少 程式碼組織差,使用過時語法,缺少註解與結構
使用者體驗 直覺式遊玩,清楚指示,卓越回饋,吸引人結束與重啟體驗 良好遊玩,足夠指示與回饋,結束與重啟功能可用 基本玩法,指示少,遊戲狀態回饋有限 遊玩混亂,指示不清,回饋差
技術實作 展現遊戲開發概念、事件處理與狀態管理之專業 對遊戲概念理解良好並有良好實作 理解基礎並有可接受實作 理解有限,實作不佳
文件說明 全面 README指示清楚程式碼說明豐富測試證據完整 良好文件,指示清楚,程式碼註解足夠 基本文件,指示簡單 文件不足或缺失

評分區間

  • 優異 (16-20 分):超出期望,具創意功能與完善實作
  • 熟練 (12-15 分):符合所有需求且執行良好
  • 進展中 (8-11 分):大部分需求滿足,少許問題
  • 初學 (4-7 分):部分需求滿足,需大幅改進

其他學習資源

💡 專業提示:從簡單開始,逐步加入功能。一款精心打磨的簡單遊戲比有漏洞的複雜遊戲更好!


免責聲明
本文件係使用 AI 翻譯服務 Co-op Translator 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能存在錯誤或不準確之處。原始語言版本的文件應被視為權威來源。對於重要資訊,建議採用專業人工翻譯。我們對因使用此翻譯而產生的任何誤解或錯誤解讀概不負責。