//在上次編寫的基礎上自己編寫
#include
#include
#include
#include
using
namespace std;
#define warrior_num 5
class
cheadquarter
;class
cwarrior
;class
cheadquarter
;cwarrior::
cwarrior
(cheadquarter* pheadquarter_,
int kindno_,
int no_)
:pheadquarter
(pheadquarter_)
,kindno
(kindno_),no
(no_)
void cwarrior::
printresult
(int time)
void cheadquarter::
init
(int color_,
int totallifevalue_)
}cheadquarter::
~cheadquarter()
}int cheadquarter::
producewarrior
(int time)
int kindno = ******seq[color]
[cur******seqidx]
;//*****
if(cwarrior::initiallifevalue[kindno]
>totallifevalue)
cur******seqidx =
(cur******seqidx +1)
%warrior_num;
totallifevalue -
= cwarrior::initiallifevalue[kindno]
; pwarriors[totalwarriornum]
=new
cwarrior
(this
,kindno,totalwarriornum+1)
; warriornum[kindno]++;
pwarriors[totalwarriornum]
->
printresult
(time)
; totalwarriornum++
;return1;
}void cheadquarter::
getcolor
(char
* headquartercolor)
string cwarrior::names[warrior_num]=;
//char* cwarrior::names[warrior_num] = ;
int cwarrior::initiallifevalue[warrior_num]
;int cheadquarter::******seq[2]
[warrior_num]=,
};intmain()
redhead.
init(0
,m);
bluehead.
init(1
,m);
int temp1,temp2;
while
(true)}
return0;
}
注:
考察知識點:
繼承和派生
難點:
新增乙個cweapon類
派生類如何編寫,如何初始化(學會利用基類的建構函式)
public繼承,將派生類賦值給父類指標
使用switch語句時,不能再case中定義變數,否則出現
error: jump to case label編譯錯誤
MOOC程式設計題 2 魔獸世界之二 裝備
描述 魔獸世界的西面是紅魔軍的司令部,東面是藍魔軍的司令部。兩個司令部之間是依次排列的若干城市。紅司令部,city 1,city 2,city n,藍司令部 兩軍的司令部都會製造武士。武士一共有 dragon ninja iceman lion wolf 五種。每種武士都有編號 生命值這兩種屬性。有...
北大MOOC第五周003 魔獸世界之二 裝備
乙個乙個結果對比了,發現結果都對啊,但是沒有通過。其實很簡單,就是在原來魔獸世界一的基礎上多加了乙個 的功能,然而自己還是搞了乙個小時,兩周前寫的程式都忘完了,發現自己當時寫的程式注釋不夠詳細,所以才會導致程式中的變數好多都忘了。吸取教訓,要注釋的詳細一點,你的遺忘速度真的很快!原題位址 inclu...
魔獸世界 法師
代刷stsm巨集 showtooltip nopet 召喚水元素 pet 冰凍術 cast nopet 召喚水元素 pet 冰凍術 stopmacro nopet petstay petpassive 奧法天賦 奧法輸出巨集 火法輸出巨集 奧法輸出天賦設定 pve 職業輸出通略 80 奧法精華帖 附...