北大程式設計實習公開課程式設計作業,魔獸世界之二 裝備

2021-07-02 00:17:59 字數 1989 閱讀 3304

魔獸世界的第二個版本,裝備。相較於版本一,武士已經不能直接用兩個全域性資料儲存名稱和初始生命值就可以搞定了。

這裡先分析一下題目。武士有5個種類,每種都有自己的特徵,但他們共有的特徵是有名字和生命元這兩個屬性。所以把這兩個共有屬性抽象出來作為乙個基類warrior。5種武士分別從這個基類派生。邏輯上,「乙個xx武士就是乙個warrior」,是合理的;所以的確是繼承關係。由於wolf武士沒有特殊特徵,和基類一樣,這裡直接以基類處理。在司令部headq這個類進行輸出時,強烈感覺到多型的重要性,不然你看在輸出的時候有多少很類似的**。如果用到多型特徵就很容易搞定。下個版本要改。

關於**的話,有3種。由於這裡只牽涉到**的名稱,所以只是用了乙個全域性資料來處理。目測下一版本**也會有其他屬性,到時要公升級為類(就像版本二中,把武士由版本一的全域性資料改為類實現一樣)。

實現的時候,只是對版本一進行了修改,main 函式內部貌似沒有修改,不需要修改。

另:因為我 take 這個課的時候,課程已經開到第八周了,這些作業已經不能提交。所以該**沒有提交通過 oj 判斷,需要大家注意一下。如果以後有人拿此**交了,沒有ac,希望能告訴下。(另外,這裡我想熟悉下 vs2013 環境,所以**都是在 vs2013 裡寫的,提交之前可能需要注釋掉 #include "stdafx.h",以及 main 函式的參數列和函式名可能需要修改下。)

code:

//#include "stdafx.h"

#include #include using std::cin;

using std::string;

using std::cout;

using std::endl;

using std::ios_base;

//using namespace std;

int wlf[5];//dragon 、ninja、iceman、lion、wolf 的初始生命值

//string wrname[5] = ;

string wpname[3] = ;//**名

class warrior

string get_name()

int get_life() };

class drag :public warrior

drag(int lf, int no, double hd_sx_lf) :wpno(no%3), morale(hd_sx_lf/lf), warrior(lf, "dragon") //第乙個引數是它的生命元,第二個引數是編號,第三個引數是司令部剩餘生命元

{} void show() };

class nin :public warrior

nin(int lf, int no) :wpno1(no%3), wpno2((no+1)%3), warrior(lf, "ninja") {}//第乙個引數是武士的生命元,第二個引數是其編號

void show()

//只要還可以製造乙個武士

} if (flag == 0)

return false;

} bool getstopflag(void) };

int _tmain(int argc, _tchar* argv)

; int bluesx[5] = ;

int time = 0;

int redk = 0;

int bluek = 0;

while (redhq.getstopflag() == false || bluehq.getstopflag() == false)

redk = (redk + 1) % 5;

while (bluehq.getstopflag() == false && bluehq.is_stop(time) == false && bluehq.gen_wr(time, bluesx[bluek]) == false)//當沒有停止生成武士且生成武士失敗時,生成下乙個可生成的武士

bluek = (bluek + 1) % 5;

time++;

} }return 0;

}

北大程式設計實習公開課程式設計作業,魔獸世界之一 備戰

魔獸世界的第乙個版本,備戰。比較簡單。因為我 take 這個課的時候,課程已經開到第八周了,這些作業已經不能提交。所以該 沒有提交通過 oj 判斷,需要大家注意一下。如果以後有人拿此 交了,沒有ac,希望能告訴下。另外,這裡我想熟悉下 vs 環境,所以 都是在 vs2013 裡寫的,提交之前可能需要...

程式設計方法 電驢公開課

size medium 程式設計方法教授的是良好的軟體工程思想。學會語言結構遠遠不夠,學習軟體系統開發中實用的軟體工程思想才是重中之重。寫乙個好程式或者學習如何程式設計跟學習成為好作家差不多。關鍵在於光靠套公式,套模板是寫不出好文章的。很多同學會走入誤區,僅僅學習語言本身的特性,認為只要學好了語言就...

北大AI公開課筆記整理

2017年是正經的人工智慧元年,也是在這一年,人工智慧穿上華麗的外衣,正式走到了所有人的面前,幾乎每個學校的計算機學院都在搞人工智慧,每個計算機專業的學生都在訓練模型 調參。自然而然地,從去年開始,所謂演算法工程師 ai研究員這些崗位也成為意料之中的當紅炸子雞,今年更是直接給出30萬起步年薪,簡直喪...