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-TW/6-space-game/6-end-condition/assignment.md

6.7 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)
遊戲功能 遊戲完整有多重結束條件、重啟流暢與精緻遊玩體驗 完整遊戲含基本結束條件與重啟機制功能 部分結束條件實作完成,重啟可能有小問題 遊戲不完整,功能受限且含重大錯誤
程式碼品質 乾淨且良好組織,使用現代語法、詳細註解與結構優良 良好程式碼組織,現代語法適當,註解充足,結構清楚 基本組織,部分現代語法應用,註解有限 程式碼混亂,語法過時,缺乏註解與結構
使用者體驗 直覺玩法,清楚說明,優秀回饋與結束/重啟體驗 良好玩法,說明適當,回饋清楚,功能完整 基本玩法,說明有限,回饋較少 操作混亂,說明不足,使用者回饋差
技術實作 展現遊戲開發概念、事件處理及狀態管理精通 對遊戲概念有良好理解與實作 基本了解且可接受實作 理解有限,實作不佳
文件 README 詳盡且清楚,程式碼註解豐富,測試全面 文件良好,說明清楚,註解足夠 文件簡單,說明與註解有限 文件缺乏或缺失

評分標準分數範圍

  • 優異 (16-20 分):超越期待,有創意功能與精緻實作
  • 良好 (12-15 分):符合所有需求,執行紮實
  • 發展中 (8-11 分):大部分需求達成,有小幅缺失
  • 初學 (4-7 分):部分需求符合,需大幅改進

其他學習資源

💡 專家提示:從簡單開始,逐步增加功能。經過精心打磨的簡單遊戲,比帶有錯誤的複雜遊戲更優秀!


免責聲明
本文件經由 AI 翻譯服務 Co-op Translator 翻譯而成。儘管我們致力於提供準確的內容,但自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應視為權威來源。對於重要資訊,建議採用專業人工翻譯。我們不對因使用本翻譯所造成的任何誤解或誤譯負責。