eatingli / code-adventure

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Code Adventure

區域網路遊戲,二維棋盤角色扮演遊戲,用於程式教育。

教室內有一個主螢幕( 65吋以上、FullHD),用來顯示整個遊戲世界。玩家(學習者)將用程式碼來控制遊戲世界中的角色,完成各種目標。每段程式的執行,都可以在主螢幕中得到即時的視覺回饋,並於自己的終端機檢視詳細資料,最後利用程式處理資料達到自動化操作。遊戲伺服器架設於教室中的區域網路,作為社群遊戲,老師和學生們將同時在教室和遊戲中互動。預期讓玩家因著想達成遊戲內的目標,而自然地學習程式語言、演算邏輯。

遊戲系統

座標、區域系統

  • 二維棋盤座標
  • 物件在同座標中不重疊出現
  • 物件依區域來限制生成總量

角色系統

  • 生命和能量:部分動作的消耗值,回家休息可以補滿
  • 等級和經驗:等級影響生命、能量上限
  • 金錢:用升級裝備和資源交易
  • 裝備:影響各個動作的延遲時間,升級裝備來降低延遲

資源系統

  • 採集時玩家和資源必須在相同座標
  • 採集資源時需要消耗能量,能量不足時無法採集
  • 全部玩家共用資源倉庫
  • 金錢可以購買資源

怪物系統

  • 怪物有不同的生命值,獎勵經驗和金錢,按週期重生
  • Boss有額外的特殊能力、自動回血,且有大量獎勵,但重生時間長
  • 由玩家發起戰鬥,角色和怪物必須在相同座標
  • 發起攻擊時需要消耗生命,如果生命不足無法攻擊
  • 攻擊後角色和怪物互打一下,各扣一生命
  • 多個玩家可同時向同個怪物發起戰鬥,獎勵由最後一擊的玩家取得

建築系統

  • 建築具有加乘效果,升級建築可提升加成
  • 升級建築須先到倉庫拿取資源(消耗三種資源各一個)
  • 帶著資源到目標建築進行建造,提升建築經驗、等級

任務系統

  • 任務目標可能是攻擊目標怪物或採集目標資源,目標將週期性變換
  • 執行任務可獲得金錢獎勵

其他

  • 遊戲勝利條件為:同時擊敗所有 BOSS

API

Action

  • move(dir)
  • atk()
  • collect()
  • build()
  • sleep()
  • upgrade(equip)
  • carry()
  • trade(stor)
  • hello()

Query

  • game()
  • quest()
  • storage()
  • self()
  • roles()
  • monsters()
  • resources()
  • buildings()

Other

  • tip()

About

License:MIT License


Languages

Language:TypeScript 91.7%Language:HTML 8.3%