Johnny850807 / Coding-GYM

自己菜鳥階段時在練習Java物件導向、設計模式時,所設計的題庫,此專案庫目前用來讓我的同學/學生 (欠調教的) 們提交程式碼來進行Review,欲參考OOP題目者可直接到Projects區觀看,題目皆(85%)擁有示範解答程式碼。ISSUE放的都是Code Review嘴砲。(物件導向設計學分兩階段→JAVA→設計模式)
24 stars 6 forks source link

★ Strategy Pattern:RPG #114

Open Johnny850807 opened 4 years ago

Johnny850807 commented 4 years ago

難度:2

你要設計一個RPG遊戲

玩家扮演著英雄回合戰制車輪戰斬殺敵人

玩家初始屬性為 [500, 500, 70, 40, 10] (依照屬性列出的順序)

對戰中,每回合玩家跟敵人可以選擇普通攻擊或是釋放魔法技能普通攻擊會抵銷對方的防禦力、而魔法技能如果有魔法傷害值則抵銷對方的魔法防禦力 魔力不足以釋放任何技能時,則強迫只能普通攻擊。

敵人

每輪戰鬥結束後,玩家全部屬性都將恢復

流程及畫面

文字版的流程及畫面自行隨意設計即可, 只要每回合呈現出玩家的資訊(屬性)以及敵人資訊, 並且讓玩家能夠選擇他回合要執行的動作(普通攻擊或是釋放某個技能) 以及執行動作之後得到的效果, 然後呈現出敵方回合每一個敵人的動作即可。

軟體設計

這個小節會提示策略模式該如何套, 如果你已經放棄思考了,請往下看, 若還沒放棄,請先在UML上畫出自己的構想:

. . . . . . . . . . . . . . . . . . .

  1. 將各式各樣不同技能的效果變動性封裝至Skill介面中,讓玩家或敵人委派。
  2. 除了Skill以外,敵人的行為也能夠萃取出策略。