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.遊戲角色應有的屬性 本題目要求的遊戲角色應有以下屬性 名字 性別 種族 職業 力量 敏捷 體力 智力 智慧型 生命值...