RPG游戏角色

一、题目分析

几乎所有的RPG游戏(一种源自《龙与地下城》的游戏类型)在进入游戏时都会让用户自己来创建自己喜欢的角色。本次上机要求编写一个简化的创建游戏角色的程序。本题目要求的游戏角色应有以下属性:名字、性别、种族、职业、力量、敏捷、体力、智力、智慧、生命值和魔法值。

二、类图设计

在这里插入图片描述

三、程序实现

该程序中用到了开闭原则,单一职责。
class Baseinfoamation
{
protected:
//基础类,保存角色的姓名,性别
public:
void getBaseinfoamation(); //输入角色名和性别
};
class Race
{
protected:
//基类,记录角色的种族、职业
public:
void getRace(); //选择种族和职业
};
class Attribute
{
protected:
//基类,记录角色的属性
public:
void getAttribute(); //根据选择的职业,向getRamdom传不同的最小值
void getRandom(int a, int b, int c, int d, int e); //随机生成每项属性的值,abcd为该属性的最小值,e为第五个属性的最大值
};
class Output
{
public:
void show(Baseinfoamation &, Race &, Attribute &); //将角色属性输出到显示器上
};
class File
{
public:
void file(Baseinfoamation &, Race &, Attribute &);//将角色信息保存到文档
};

四、调试及运行结果

1、调试:
1.1自动窗口
在这里插入图片描述
1.2局部变量
在这里插入图片描述
2、运行结果:
在这里插入图片描述
在这里插入图片描述

五、经验归纳

首先建一个基类Base用来保存和实现,保存玩家输入的姓名和性别的选择,同时需要声明两个友缘类Output,File可以访问该类中的数据。
在基类Base基础上建一个派生类Race,用来记录玩家选择的种族,和职业,同时规定什么种族可以选择什么职业,人类可以选择全部职业;精灵不能选择狂战士,圣骑士;兽人不能选择圣骑士,刺客;矮人不能选择刺客,猎手;元素只能选择祭司,同时需要声明两个友缘类Output,File可以访问该类中的数据。
在派生类Race基础上派生一个Attribute类用来记录角色随机生产的属性,首选规定各个职业每个属性的最小值,在这个最小值的基础上,随机生成差距在3左右的属性,再根据随机生产的属性计算出该角色的血量值,法力值,同时需要声明两个友元类Output,File可以访问该类中的数据。
建立一个Output类可以访问Base,Race,Attribute三个类中的数据,输出三个类中记录的数据。
建立一个File类可以访问Base,Race,Attribute三个类中的数据,并且将三个类中的数据进行文本输出保存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值