RPG角色生成器

2021-08-28 19:04:05 字數 2799 閱讀 6887

rpg角色生成器

幾乎所有的rpg遊戲(一種源自《龍與地下城》的遊戲型別)在進入遊戲時都會讓使用者自己來建立自己喜歡的角色。本次上機要求編寫乙個簡化的建立遊戲角色的程式。

本題目要求的遊戲角色應有以下屬性:名字、性別、種族、職業、力量、敏捷、體力、智力、智慧型、生命值和魔法值。

名字:不超過50個字元。

性別:可以選擇男性和女性。

種族:一共可選五個種族,人類、精靈、獸人、矮人和元素。

職業:可選六種職業,狂戰士、聖騎士、刺客、獵手、祭司和巫師。

其餘屬性均為整數。

本題目要求首先使用者輸入角色姓名,然後由使用者選擇角色性別,然後由使用者選擇種族,然後選擇職業,然後自動分配力量、敏捷、體力、智力和智慧型屬性,並計算生命值和魔法值。

生命值=體力*20。

魔法值=(智力+智慧型)*10。

很多職業會限制某些種族選擇,例如獸人不能就職聖騎士等等,種族和職業的限制表如下:

種族/職業

狂戰士聖騎士

刺客獵手

祭司巫師

人類允許

允許允許

允許允許

允許精靈

不允許不允許

允許允許

允許允許

獸人允許

不允許不允許

允許允許

不允許矮人

允許允許

不允許不允許

允許不允許

元素不允許

不允許不允許

不允許允許

允許所以在要求使用者選擇職業時,輸出資訊裡面只能有使用者所選擇種族可以就職的職業。

本題目要求力量、敏捷、體力、智力和智慧型要求是隨機值(利用隨機數函式來取得隨機數),但是五項屬性的總和應該是100,並且應該和職業相關。例如狂戰士的體力和力量就要比較高,而巫師需要較高的智力,而祭司則需要較高的智慧型。各職業初始屬性的大致比例應遵從下表:

職業/屬性

力量敏捷

體力智力

智慧型狂戰士

聖騎士刺客

獵手祭司

巫師例如,前面示意圖中的祭司的初始屬性,大致滿足該比例,但是應該是隨機的。

然後利用屬性值計算生命值和魔法值。

最後向使用者顯示該角色的所有資訊,然後詢問使用者是否滿意,如使用者不滿意則重新建立,若使用者滿意則程式結束,並將使用者建立角色的相關資訊寫入檔案儲存。

#include#include#include#include#include"string"

using namespace std;

char i***[2][50]=;

char irace[5][50]=;

char ioccupation[6][50]=;

class baseinformation //基類,儲存角色的姓名,性別 ;

class race:public baseinformation //基類,記錄角色的種族、職業

;class attribute :public race //派生類,記錄角色的屬性

;class output //輸出角色屬性

;void baseinformation::getbase() //輸入角色名和性別

else

printf("輸入錯誤!請輸入0或1"); }}

//選擇種族和職業

void race::getrace()

else

printf("輸入錯誤!請輸入1~5");

} while (1)

cin >> occupation_choice;

if (race_choice == 1 && (occupation_choice >= 1 && occupation_choice <= 6)) break;

else if (race_choice == 2 && (occupation_choice >= 3 && occupation_choice <= 6)) break;

else if (race_choice == 3 && (occupation_choice == 1 || occupation_choice == 4 || occupation_choice == 5)) break;

else if (race_choice == 4 && (occupation_choice == 1 || occupation_choice == 2 || occupation_choice == 5)) break;

else if (race_choice == 5 && (occupation_choice >= 5 && occupation_choice <= 6)) break;

else cout << "輸入錯誤,請重新輸入" << endl;

} occupation = ioccupation[occupation_choice - 1];

}// 隨機生成每項屬性的值,abcd為該屬性的最小值,e為第五個屬性的最大值

void attribute::getrandom(int a, int b, int c, int d, int e)

while (sum != 100);

hp = physical * 20;

mp = (wisdom + intelligence) * 10;

}//根據選擇的職業,向getramdom傳各職業最小值

void attribute::getattribute()

void output::show(attribute &t3)

int main()

while (player_choice);

return 0;

}

RPG角色生成器

本題目要求的遊戲角色應有以下屬性 名字 性別 種族 職業 力量 敏捷 體力 智力 智慧型 生命值和魔法值。名字 不超過50個字元。性別 可以選擇男性和女性。種族 一共可選五個種族,人類 精靈 獸人 矮人和元素。職業 可選六種職業,狂戰士 聖騎士 刺客 獵手 祭司和巫師。其餘屬性均為整數。本題目要求首...

RPG角色生成器

include include include include char p 2 50 char prace 5 50 char poccupation 6 50 輸入性別種族職業 int input int input race int input occupation int 輸出屬性 void...

RPG角色生成器

一 題目分析 1.功能描述 幾乎所有的rpg遊戲 一種源自 龍與地下城 的遊戲型別 在進入遊戲時都會讓使用者自己來建立自己喜歡的角色。本次上機要求編寫乙個簡化的建立遊戲角色的程式。2.遊戲角色應有的屬性 本題目要求的遊戲角色應有以下屬性 名字 性別 種族 職業 力量 敏捷 體力 智力 智慧型 生命值...