RPG角色生成器

2021-09-19 09:07:46 字數 2287 閱讀 8220

一、題目分析:

1.功能描述

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

2.遊戲角色應有的屬性

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

名字:不超過50個字元。

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

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

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

其餘屬性均為整數。

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

生命值=體力*20。

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

3.職業限制

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

種族/職業 狂戰士 聖騎士 刺客 獵手 祭司 巫師

人類 允許 允許 允許 允許 允許 允許

精靈 不允許 不允許 允許 允許 允許 允許

獸人 允許 不允許 不允許 允許 允許 不允許

矮人 允許 允許 不允許 不允許 允許 不允許

元素 不允許 不允許 不允許 不允許 允許 允許

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

4.初始屬性

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

職業/屬性 力量 敏捷 體力 智力 智慧型

狂戰士 40 20 30 5 5

聖騎士 25 15 30 20 10

刺客 20 35 20 15 10

獵手 15 40 15 10 20

祭司 15 20 15 35 15

巫師 10 20 10 20 40

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

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

5.顯示資訊

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

二、類圖設計

三、**實現

#include#include#include#include#include#includeusing namespace std;

class role;

void role::get_name()//獲取姓名

void role::get_***()//選擇性別

{ int flag=1;

cout<

cout

switch(***)

{ case 1:

***="男性";

cout

switch(race)

{ case 0:

race="人類";

cout

switch(pro)

{ case 0:pro="狂戰士";cout

if(z==0)

{ file(l,n,p);

cout四、經驗歸納

因為我是轉專業的學生,還沒學完c++,所以之前的作業一直用的c,知道c++比c好寫但是還是不太會用,但是這次的上機就必須要用c++了,正好,我們c++也學到類與物件這一部分了,對我而言,正好可以起到鞏固所學知識的作用。

1、除錯**現了兩個錯誤,乙個忘記呼叫attribute函式從而導致輸出值的不對。

還有是個屬性的賦值,應該是隨機生成隨機數的賦值,因為我的失誤,變成了固定值了。

2、在這次的**書寫裡,我使用了類與物件,還有繼承,繼承可以體現事物的普遍性和特殊性,像類attribute,它是race的乙個特殊性,每個race的attribute都不一樣,但是都來自於race,所以用race派生出attribute類。減少了冗餘**。而且race也派生自role類,這樣一環套一環,也挺有趣的。

3、這次上機實驗讓對類和繼承的概念和使用有了清晰的理解。還了解了物件導向程式設計七大原則中的開閉原則。

RPG角色生成器

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

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...