C++ 奥特曼打怪兽之类的应用(系列3)
题目描述 在前面实验的基础上,根据题目要求进行修改,实现打斗过程。 怪兽分为四种类型(定义四个类): 普通型怪兽(NMonster):攻击力是等级2倍,生命是10倍,金钱经验是10倍 攻击型怪兽(AMonster):攻击力是等级4倍,生命是5倍,金钱经验是10倍 防御型怪兽(DMonster):攻击力是等级1倍,生命是20倍,金钱经验是10倍 肉鸡型怪兽(SMonster):攻击力是等级1倍,生命是10倍,金钱经验是20倍 定义一个守护神类(Angel),该类定义怪兽或奥特曼的守护神,为怪兽或奥特曼提供帮助。守护神等级为所守护对象的等级(例如守护神a1守护等级为3的攻击型怪兽am1,则a1的等级也为3),攻击是等级的一半,无生命。怪兽的守护神金钱和经验都为等级的5倍。奥特曼的守护神金钱和经验为0,等级随守护对象升级而升级。 为四个怪兽类和奥特曼类添加守护神对象成员,使它们都成为复合类。 当奥特曼战胜怪兽后,将获得怪兽及其守护神的经验金钱。 修改奥特曼类和怪兽类相关成员函数,实现守护神类与它们的关系,具体如下: 奥特曼,守护神为它攻击攻击型怪兽时,加1点攻击力,而在它攻击防御型怪兽时,加2点攻击力,在获得肉鸡型怪兽的金钱和经验时,翻倍(获得怪兽的经验和金钱翻倍)。 普通型怪兽和肉鸡型怪兽,无守护神。 攻击型怪兽,守护神为它在攻击奥特曼时,也打一次,使奥特曼除了受到怪兽攻击