前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器人变身(类与对象)【期中模拟】

机器人变身(类与对象)【期中模拟】

作者头像
叶茂林
发布2023-07-30 10:29:16
1630
发布2023-07-30 10:29:16
举报

题目描述

编写一个机器人类,包含属性有机器名、血量、伤害值、防御值、类型和等级。其中血量、伤害和防御和等级、类型相关:

普通型机器人,类型为N,血量、伤害、防御是等级的5倍

攻击型机器人,类型为A,攻击是等级的10倍,其他属性和普通的一样

防御型机器人,类型为D,防御是等级的10倍,其他属性和普通的一样

生命型机器人,类型为H,生命是等级的50倍,其他属性和普通的一样。

机器人操作包括:打印、各个属性的获取和设置方法,构造函数可有可无,根据需要自行编写,

编写一个全局函数用于机器人变身,使得各种类型机器人能够相互转变。参数包括机器人对象指针和变身后的机器人类型,功能是修改机器人类型,并更改相关的属性。如果变身类型和机器人原来的类型不同,则执行变身功能,并返回true;如果变身类型和原来类型相同,则不执行变身,并返回false.

要求所有数据成员都是私有属性,用C++语言和面向对象设计思想来编程实现上述要求

输入

第一行输入t,表示要执行t次机器人变身

接着每两行,一行输入一个机器人的属性,包括机器名、类型、等级,另一行输入变身类型

依次类推输入

输出

每行输出变身后的机器人信息,要求调用机器人的打印方法来输出,即使机器人不变身也输出

属性输出依次为:名称、类型、等级、血量、伤害、防御

最后一行输出执行变身的次数

输入样例1 

3 X001 N 5 H X002 A 5 D X003 D 5 D

输出样例1

X001--H--5--250--25--25 X002--D--5--25--25--50 X003--D--5--25--25--50 The number of robot transform is 2

AC娱乐代码

代码语言:javascript
复制
#include<iostream>
#include"string"
using namespace std;
class robot
{
	string name,kind;
	int hp,damage,defense,Rank;
	public:
		robot(string name,string kind,int Rank):name(name),kind(kind),Rank(Rank){}
		void setkind(string kind)
		{
			hp=damage=defense=5*Rank;
			if(kind=="A")
			damage=10*Rank;
			else if(kind=="D")
			defense=10*Rank;
			else if(kind=="H")
			hp=50*Rank;
			this->kind=kind;
		}
		void diplay(){cout<<name<<"--"<<kind<<"--"<<Rank<<"--"<<hp<<"--"<<damage<<"--"<<defense<<endl;} 
		string getkind(){return kind;}
}; 
bool transform(robot &root,string kind)
{
	if(root.getkind()==kind)
	return false;
	root.setkind(kind);
	return true;
}
int main() {
	int test,Rank,count=0;
	string name,kind;
	cin>>test;
	while(test--)
	{
		cin>>name>>kind>>Rank;
		robot root(name,kind,Rank);
		root.setkind(kind);
		cin>>kind;
		count+=transform(root,kind);
		root.diplay();
	}
	cout<<"The number of robot transform is "<<count<<endl;
	return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目描述
  • AC娱乐代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档