RPG游戏角色创建

本文介绍了如何设计一个RPG游戏的角色创建程序,包括角色类的设计,属性分配利用C++实现,并通过随机函数根据职业天赋调整属性值。测试结果显示圣骑士属性分配准确,但属性总和约束的实现导致了较高的时间消耗。
摘要由CSDN通过智能技术生成

一. 题目分析

几乎所有的RPG游戏(一种源自《龙与地下城》的游戏类型)在进入游戏时都会让用户自己来创建自己喜欢的角色。本次上机要求编写一个简化的创建游戏角色的程序。

分析:建立一个角色类CH,类里包括角色的姓名、性别、属性,以及对属性的建立和保存。在创建属性时,不同的角色职业天赋也不一样,根据一定的天赋比例用随机函数rand()在不同的数值区间来分配属性。最后用文件流ofstream与文件建立关联写入数据。

二. 类图设计

在这里插入图片描述

三. 程序实现(C++)

#include <iostream>
#include <fstream>
#include <string>
#include<cstdlib>
#include<ctime>
#define random(a,b) (rand() % (b-a))+a+1
using namespace std;

class CH
{

public:
	string name;//姓名
	string sex;//性别
	string race;//种类
	string vocation;//职业
	int i,j,k,flag;
	int a,b,c,d,e;
	int strength;//力量
	int agility;//敏捷
	int Power;//体力
	int intelligence;//智力
	int wisdom;//智慧
	int HP;//生命值
	int MP;//魔法值
public:
	void creat();//进行角色基本属性的进行创建 
	void value();//角色属性的分配 
	void display();//显示所创建角色的有关属性 
	void save ();//保存角色数据 

};



void CH::creat()//创建角色基本属性 
{
	cout<<"请输入您游戏角色的姓名:";
	cin>>name;
	cout<<"请选择您游戏角色的性别(0男性,1女性):";
	cin>>k;
	if(k==0)
		sex="男性";
	else
		sex="女性";
	cout<<"请选择入您游戏角色的种族(0人类,1精灵,2兽人,3矮人,4元素):";
	cin>>i;
	if (i==0)
		{race="人类";
		cout<<"请选择您的职业(0狂战士,1圣骑士,2刺客,3猎手,4祭司,5巫师):";
		cin>>j;
	     if (j==0)
			vocation="狂战士";
		 else if (j==1)
			vocation="圣骑士";
		else if (j==2)
			vocation="刺客";
		else if (j==3)
			vocation="猎手";
		else if (j==4)
			vocation="祭司";
		else if (j==5)
			vocation="巫师";
		}
	else if(i==1)
		{
		race="精灵";
		cout<<"请选择您的职业(0刺客,1猎手,2祭司,3巫师):";
		cin>>j;
		 if (j==0)
			vocation="刺客";
		 else if (j==1)
			vocation="猎手";
		else if (j==2)
			vocation="祭司";
		else if (j==3)
			vocation="巫师";
		}

	else if(i==2)
		{race="兽人";
		cout<<"请选择您的职业(0狂战士,1猎手,2祭司,3巫师):";
		 cin>>j;
		if (j==0)
			vocation="狂战士";
		 else if (j==1)
			vocation="猎手";
		else if (j==2)
			vocation="祭司";
		else if (j==3)
			vocation="巫师";
		}

	else if(i==3)
		{race="矮人";
		cout<<"请选择您的职业(0狂战士,1圣骑士,2祭司,3巫师):"<<endl;
		 cin>>j;
		if (j==0)
			vocation="狂战士";
		 else if (j==1)
			vocation="圣骑士";
		else if (j==2)
			vocation="
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值