vc RPD角色生成器

2021-08-28 14:02:47 字數 3603 閱讀 4063

1.功能描述

幾乎所有的rpg遊戲在進入遊戲時都會讓使用者自己來建立自己喜歡的角色。本次上機要求編寫乙個簡化的建立遊戲角色的程式。

2.遊戲角色應有的屬性

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

名字:不超過50個字元。

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

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

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

其餘屬性均為整數。

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

生命值=體力*20。

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

3.職業限制

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

種族/職業

狂戰士聖騎士

刺客獵手

祭司巫師

人類允許

允許允許

允許允許

允許精靈

不允許不允許

允許允許

允許允許

獸人允許

不允許不允許

允許允許

不允許矮人

允許允許

不允許不允許

允許不允許

元素不允許

不允許不允許

不允許允許

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

4.初始屬性

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

職業/屬性

力量敏捷

體力智力

智慧型狂戰士

聖騎士刺客

獵手祭司

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

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

5.顯示資訊

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

6.主要**:

#include "iostream"

#include #include "string"

#include "ctime"

#include "fstream"

using namespace std;

int occupation_choice; //玩家所選擇的職業的序號

class base //基礎類,用來儲存角色的姓名,性別;

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

}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;

}if (occupation_choice == 1) occupation = "狂戰士";

if (occupation_choice == 2) occupation = "聖騎士";

if (occupation_choice == 3) occupation = "刺客";

if (occupation_choice == 4) occupation = "獵手";

if (occupation_choice == 5) occupation = "祭司";

if (occupation_choice == 6) occupation = "巫師";}

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

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

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

while (((100 - e) < sum) && (sum < 100));

wisdom = 100 - sum;

hp = physical * 20;

mp = (wisdom + intelligence) * 10;

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

void attribute::getattribute()

class output //輸出角色屬性;

void output::output(base &t1, race &t2, attribute &t3)

while (player_choice);

keep.file(player, player_race, player_att);

return 0;

}

7.測試和除錯

1)測試:

2)除錯:

❤菜鳥程式,如有錯誤,請多多指出❤

PRG角色生成器

幾乎所有的rpg遊戲 一種源自 龍與地下城 的遊戲型別 在進入遊戲時都會讓使用者自己來建立自己喜歡的角色。本次上機要求編寫乙個簡化的建立遊戲角色的程式。本題目要求的遊戲角色應有以下屬性 名字 性別 種族 職業 力量 敏捷 體力 智力 智慧型 生命值和魔法值。名字 不超過50個字元。性別 可以選擇男性...

RPG角色生成器

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

RPG角色生成器

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