C團(tuán)隊項目設(shè)計_第1頁
C團(tuán)隊項目設(shè)計_第2頁
C團(tuán)隊項目設(shè)計_第3頁
C團(tuán)隊項目設(shè)計_第4頁
C團(tuán)隊項目設(shè)計_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、設(shè)計和實現(xiàn)回合制戰(zhàn)斗系統(tǒng)combat1 soldier戰(zhàn)士類1) soldier的屬性(protected作用域)最大生命 maxhp當(dāng)前生命 hp最大體力maxsp當(dāng)前體力sp攻擊力 damage經(jīng)驗 exp等級 level姓名 name藥瓶數(shù)量 drugnum2) soldier的動作(public作用域)決策 makedecision攻擊 attack休息 rest吃藥 takingdrug3) soldier被創(chuàng)建后,maxhp和hp為100,maxsp和sp為100,damage為20,exp為0, level為1,drugnum為5;4) 每回合soldier通過決策(makede

2、cision)來決定需要發(fā)出哪一個動作(攻擊attack、休息rest或吃藥takingdrug,注意每回合只能做其中一個動作)。請自行設(shè)計和調(diào)整每種動作發(fā)出的必要條件,例如:生命值若低于最大值的30%該回合就吃藥,體力低于最大值的50%該回合就休息,生命力和體力都充足該回合就發(fā)起攻擊,等等;5) 攻擊(attack)敵人一次,體力(sp)減少10,經(jīng)驗(exp)增加5。敵人的生命值(hp)減去攻擊方攻擊力值(damage)的大小。敵人生命值(hp)減少到0時死去,如果敵人被自己打死,獲得敵人身上的所有藥瓶;6) 經(jīng)驗(exp)每增加20,等級(level)就提高1級,maxhp、maxsp、

3、damage分別增加20;soldier, wizard, master升級后,當(dāng)前hp,sp,mp和np的值皆按比例(xx:maxxx)增長,注意:不是升級后上述當(dāng)前屬性值就自動全滿。例如:wizard的 hp/maxhp 50/100,升級后,hp/maxhp調(diào)整為60/120。升級前hp:maxhp比例為0.5,升級后maxhp變成120,若要保持0.5的比例,hp自動調(diào)整為60。這種設(shè)定類似于魔獸爭霸iii。7) 休息(rest)一次,生命值(hp)、體力(sp)增加最大值的50%,但不要超過最大值。(例如,當(dāng)前生命值是30,最大生命值是100,則吃藥后的當(dāng)前生命值為30+100*50

4、%=80。)8) 吃藥(takingdrug),如果藥瓶數(shù)量為0,不能吃藥。吃藥一次,藥瓶數(shù)量減少1,生命值(hp)增加最大值的80%,但不能超過maxhp。2 wizard巫師類,從soldier類公有繼承1) wizard的屬性(protected作用域)新增的屬性:最大魔法值 maxmp當(dāng)前魔法值 mp2) wizard的動作(public作用域)決策 makedecision攻擊 attack休息 rest吃藥 takingdrug魔法攻擊wizard_attack3) wizard被創(chuàng)建后,maxmp和mp為100 ,maxhp和hp為100,maxsp和sp為100,maxmp和m

5、p為100,damage為20,exp為0,level為1;4) 每回合wizard通過決策(makedecision)來決定需要發(fā)出哪一個動作(攻擊attack、魔法攻擊wizard_attack、休息rest或吃藥takingdrug,注意每回合只能做一個動作);5) 魔法攻擊(wizard_attack):如果魔法值小于25、或體力小于10無法使用該技能。一次魔法攻擊能同時攻擊幾個敵人,但每對付一個敵人,自己的體力(sp)減少10、魔法值減少25、經(jīng)驗(exp)增加5、敵人的生命值(hp)減去自己攻擊力值(damage)。敵人生命值(hp)減少到0時死去,同時自己獲得敵人身上的所有藥瓶;

6、6) 經(jīng)驗(exp)每增加20,等級(level)提高1級,maxhp、maxsp、maxmp、damage分別增加20;(如果覺得升級太快了,或者升級增加的hp和damage不太協(xié)調(diào),可以調(diào)整這些參數(shù))7) 休息(rest)一次,生命值(hp)、體力(sp)恢復(fù)效果同soldier的休息(rest)動作。魔法值增加最大魔法值的30%,但不要超過最大魔法值,例如:_mp=_mp+_maxmp*30%。8) 吃藥(takingdrug)一次,效果等同于soldier吃藥。9) 攻擊(attack),攻擊效果同soldier。3 master巫師類,從wizard類公有繼承1) master的屬性

7、(protected作用域)新增的屬性:最大內(nèi)力 maxnp當(dāng)前內(nèi)力 np2) master的動作(public作用域)決策 makedecision攻擊 attack休息 rest吃藥 takingdrug魔法攻擊wizard_attack絕殺攻擊master_attack3) master被創(chuàng)建后,maxmp和mp為100 ,maxhp和hp為100,maxsp和sp為100,maxnp和np為100,damage為30,exp為0,level為1;4) 每回合wizard通過決策(makedecision)來決定需要發(fā)出哪一個動作(攻擊attack、魔法攻擊wizard_attack、絕

8、殺攻擊master_attack、休息rest或吃藥takingdrug,注意每回合只能做一個動作);5) 大師攻擊(master_attack),如果內(nèi)力(np)大于50時,可以使用大師(master_attack)攻擊。一次大師攻擊能讓被攻擊的敵人的生命值(hp)減少其最大生命值的(maxhp)50%(可能有點太強(qiáng)了,破壞平衡性!容易導(dǎo)致游戲在短短幾個回合就結(jié)束,可以考慮適當(dāng)減小。),例如敵人hp為100,maxhp為160,被大師攻擊后,生命值變?yōu)閔p-maxhp*50%=100-160*50%=20。一次大師攻擊會內(nèi)力(np)損耗50、體力(sp)損耗30,經(jīng)驗增加5。6) 魔法攻擊(

9、wizard_attack),攻擊效果等同于wizard的攻擊(attack)動作7) 攻擊(attack),攻擊效果等同于soldier的攻擊(attack)動作。8) 使用大師攻擊后,經(jīng)驗(exp)每增加20,等級(level)就提高1級,maxhp、maxsp、maxmp、maxnp分別增加20,damage增加20;9) 休息(rest)一次,內(nèi)力增加最大內(nèi)力的30%,但不要超過最大內(nèi)力值。其余如hp、sp、mp的恢復(fù)等同于wizard的休息(rest)動作。10) 吃藥(takingdrug)一次,效果等同于soldier的吃藥(takingdrug)動作。4 warsystem戰(zhàn)斗

10、系統(tǒng)類1) warsystem類的屬性軍團(tuán)a soldier * _pgroupa;軍團(tuán)b soldier * _pgroupb;2) warsystem類的動作戰(zhàn)斗開始startwar回合開始startround3) 每次戰(zhàn)斗,雙方派出一個軍團(tuán),軍團(tuán)由數(shù)名戰(zhàn)士、巫師和大師組成。戰(zhàn)斗按回合制進(jìn)行,即每回合中,一方軍團(tuán)的每個成員做完各自的一次動作(由makedecision決定)后,另一方軍團(tuán)每個成員接著完成自己的一次動作。戰(zhàn)斗開始,由哪個軍團(tuán)先發(fā)起攻擊,系統(tǒng)隨機(jī)決定。回合的生成和結(jié)束由warsystem類控制;4) warsystem類擁有兩個數(shù)據(jù)成員(指向指針變量的指針,即二級指針):sol

11、dier * _pgroupa;soldier * _pgroupb;分別對應(yīng)戰(zhàn)斗的雙方軍團(tuán)。(提示,軍團(tuán)可以由soldier *數(shù)組的形式生成,在warsystem的pgroupa和pgroupb分別指向兩個軍團(tuán),注意oop的多態(tài)實現(xiàn)。)5) warsystem類可以發(fā)出戰(zhàn)斗開始即startwar()動作。在startwar()中,隨機(jī)決定由哪一方率先發(fā)起攻擊(恐怕是每個回合都隨機(jī)決定誰先出手會比較公平,如果每回合先出手都是固定一方,那么戰(zhàn)斗結(jié)果完全是確定性的。而且由于兩支隊伍的成員一樣,交換先出手權(quán)后的結(jié)果也是對稱的。),然后調(diào)用warsystem的另一動作:回合開始,即startroun

12、d()。6) startround()動作的描述:在startround()中,按軍團(tuán)順序調(diào)用每個戰(zhàn)士的makedecision()動作(也可以考慮兩個軍團(tuán)輪流一次一人行動,比較公平)。5將整個戰(zhàn)斗過程的每一步保存入日志文件。6項目說明1) 自由組隊,人數(shù)為2-5人,不能單人組隊,也不得超過5人。2) 開發(fā)小組全部人員皆要求參與設(shè)計和開發(fā),每位組員有明確的分工(組內(nèi)自行協(xié)調(diào));每位組員除了熟悉自己的任務(wù)模塊外,需熟悉整個系統(tǒng)的設(shè)計和開發(fā);3) 影響項目評分的因素:i. 最終系統(tǒng)對需求的實現(xiàn)程度;ii. 項目組內(nèi)部分工的合理度(包括每人工作量的平衡程度),協(xié)作的程度;iii. 每位組員最后的考評

13、皆會影響項目組其他成員的最后評分; 4) 項目組角色及職責(zé)說明:項目經(jīng)理1名(組長)(兼客戶溝通人員)建議推選凝聚力較強(qiáng)人員擔(dān)任控制項目進(jìn)度。定期(建議每2-3天)召集所有人員開會溝通開發(fā)進(jìn)度。特別當(dāng)項目進(jìn)度滯后時,需要提出解決方案減少進(jìn)度偏移。定期向客戶(老師)報告整體開發(fā)進(jìn)度,模塊開發(fā)進(jìn)度,及每個成員的實施情況。(建議每2-3天用email形式報告)技術(shù)經(jīng)理1名建議推選技術(shù)較強(qiáng)人員擔(dān)任負(fù)責(zé)項目整體框架設(shè)計,子系統(tǒng)(模塊)劃分。在項目組其他成員遇到技術(shù)難題時,有責(zé)任提供技術(shù)咨詢。程序員n名全體人員(包括項目經(jīng)理和技術(shù)經(jīng)理)程序開發(fā)5) 部分項目需求并未完整給出。如:soldier等類的mak

14、edecision決策機(jī)制如何設(shè)計?在不同場景下該如何做出最佳決策?己方應(yīng)該分開攻擊對方不同的戰(zhàn)士,還是應(yīng)該合力攻擊對方最強(qiáng)的戰(zhàn)士或者最弱的戰(zhàn)士(可參考自己或他人的回合制游戲經(jīng)驗)?應(yīng)該在哪一個類中增加方法,來獲取對方軍團(tuán)的戰(zhàn)士信息以便己方做出正確決策?如果戰(zhàn)斗在開始后幾個回合內(nèi)就分出勝負(fù),請適量調(diào)整各種攻擊動作、吃藥、休息的數(shù)據(jù)修改值。(這里設(shè)定的生命值相對于傷害值來說有點小了,可適當(dāng)參考星際魔獸等rts游戲的參數(shù)平衡系統(tǒng)) 在現(xiàn)實中,項目組經(jīng)常面臨開發(fā)的項目需求不完整的情況,需要通過多次迭代,反復(fù)需求分析和與客戶(本項目中的客戶即是老師和本組其他同學(xué))溝通逐步解決問題。關(guān)于項目組對此類問題的處理能力,也是本次考查的內(nèi)容之一。6) 最后,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論