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

7.3 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 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵信息,建議使用專業人工翻譯。我們對因使用此翻譯而產生的任何誤解或誤釋不承擔責任。