Open Johnny850807 opened 7 years ago
難度:1
Abstract Factory 只是一堆 相關的 Factory Method 而已...
在資源區的 Abstract Factory 資料夾底下有個 Weapon.jar 裡面放著許多裝備,你的任務就是提供一個工廠 使 英雄 與怪物 可以從該工廠取得一系列相關裝備 (有武器、魔法武器以及防禦裝備) ( 因此英雄與怪物並不需要知道,自己將取得何種裝備。)
這樣的好處是,英雄與怪物都不能自行搭配自己的裝備, 他們所得到的裝備都必須是一系列跟某個工廠取得的。 (英雄與怪物一樣請自行設計)
每回合英雄與怪物都自行決定,要使用魔法攻擊還是武器攻擊。 若要使用魔法攻擊 則要確認魔力是否足夠。
interface Weapon 函數 public String getName() //得到武器的名稱 interface Attackable extends Weapon //可攻擊武器 函數 public int getLoseMp(); //得到使用武器需耗費之魔力值,必須使用此函數判斷魔力是否足夠。 public int getInjury() ; //得到攻擊武器傷害值 public int getReaptedTimes() //得到連擊數量 (有些武器可以連續攻擊好幾次) interface AttackWeapon extends Attackable 說明 AttackWeapon 的實踐 擁有許多 武器子類別 (若要自訂攻擊性武器 繼承此即可) 實踐 Darts 飛鏢 , Glove 拳套 , Gun手槍 , Sword 長劍 interace DefenseWeapon extends Weapon (防禦性裝備) 函數 int getDefense(); //得到物理防禦力 (抵抗攻擊武器) int getMagicDefense(); //得到魔法防禦力 (抵抗魔法攻擊) 實踐 Armor 盔甲 , Shield 盾牌 interace MagicPower extends Attackable (魔法攻擊) 實踐 FireBall 火球 , ThunderBall 閃電球
interface Weapon 函數 public String getName() //得到武器的名稱
interface Attackable extends Weapon //可攻擊武器 函數 public int getLoseMp(); //得到使用武器需耗費之魔力值,必須使用此函數判斷魔力是否足夠。 public int getInjury() ; //得到攻擊武器傷害值 public int getReaptedTimes() //得到連擊數量 (有些武器可以連續攻擊好幾次)
interface AttackWeapon extends Attackable 說明 AttackWeapon 的實踐 擁有許多 武器子類別 (若要自訂攻擊性武器 繼承此即可) 實踐 Darts 飛鏢 , Glove 拳套 , Gun手槍 , Sword 長劍
interace DefenseWeapon extends Weapon (防禦性裝備) 函數 int getDefense(); //得到物理防禦力 (抵抗攻擊武器) int getMagicDefense(); //得到魔法防禦力 (抵抗魔法攻擊) 實踐 Armor 盔甲 , Shield 盾牌
interace MagicPower extends Attackable (魔法攻擊) 實踐 FireBall 火球 , ThunderBall 閃電球
Example:
Example Output ( 無須模仿,可自行設計 )
請輸入名子: 水 選擇角色 : (1) 忍者 (2) 武士 (3) 拳皇 : 1 輪到 水 .... 狀態 : Hp 20000 , Mp 1000 選擇動作 : (1) 飛鏢 (2) 雷電球 1 水 使用 飛鏢 進行攻擊 !! 145 118 120 169 108 166 135 175 119 輪到 Sans .... 狀態 : Hp 16745 , Mp 2000 Sans 使用 激光大砲 進行攻擊 !! 1051 輪到 水 .... 狀態 : Hp 18949 , Mp 1000 選擇動作 : (1) 飛鏢 (2) 雷電球 2 水 使用 雷電球 進行攻擊 !! 1636 輪到 Sans .... 狀態 : Hp 15109 , Mp 2000 Sans 使用 激光大砲 進行攻擊 !! 1192 輪到 水 .... 狀態 : Hp 17757 , Mp 900 選擇動作 : (1) 飛鏢 (2) 雷電球
....略
難度:1
在資源區的 Abstract Factory 資料夾底下有個 Weapon.jar 裡面放著許多裝備,你的任務就是提供一個工廠 使 英雄 與怪物 可以從該工廠取得一系列相關裝備 (有武器、魔法武器以及防禦裝備) ( 因此英雄與怪物並不需要知道,自己將取得何種裝備。)
這樣的好處是,英雄與怪物都不能自行搭配自己的裝備, 他們所得到的裝備都必須是一系列跟某個工廠取得的。 (英雄與怪物一樣請自行設計)
遊戲一開始玩家及怪物需選擇某一系列裝備 (例如:飛鏢、盾牌跟閃電球...) (都在Weapon.jar)
英雄與怪物必須使用這些裝備進行戰鬥,分出高下,印出過程。
每回合英雄與怪物都自行決定,要使用魔法攻擊還是武器攻擊。 若要使用魔法攻擊 則要確認魔力是否足夠。
Weapon.jar 文件如下
所需要專注的事情 是抽象工廠 的 價值 以及實踐方式
Example:
Example Output ( 無須模仿,可自行設計 )
請輸入名子: 水 選擇角色 : (1) 忍者 (2) 武士 (3) 拳皇 : 1 輪到 水 .... 狀態 : Hp 20000 , Mp 1000 選擇動作 : (1) 飛鏢 (2) 雷電球 1 水 使用 飛鏢 進行攻擊 !! 145 118 120 169 108 166 135 175 119 輪到 Sans .... 狀態 : Hp 16745 , Mp 2000 Sans 使用 激光大砲 進行攻擊 !! 1051 輪到 水 .... 狀態 : Hp 18949 , Mp 1000 選擇動作 : (1) 飛鏢 (2) 雷電球 2 水 使用 雷電球 進行攻擊 !! 1636 輪到 Sans .... 狀態 : Hp 15109 , Mp 2000 Sans 使用 激光大砲 進行攻擊 !! 1192 輪到 水 .... 狀態 : Hp 17757 , Mp 900 選擇動作 : (1) 飛鏢 (2) 雷電球
....略