奥特曼类的方法说明:
1.为每个属性设置get方法。
2.初始化方法将一次性初始化各个属性的取值。(等级从1开始,生命值为10,攻击力为1,经验值为0,拥有的钱数为0)
3.逃跑将损失1点生命值。
4.攻击将使对方受到自身攻击力大小的伤害,但对方也会采取反击,导致自己受到攻击。同时,如果对方所剩下的钱数为奇数,可抢夺对方一个钱财。另外,每攻击一次,可增加一点经验值。
5.受到攻击时,将受到攻击方攻击力值二分之一大小的伤害(即损失相应的生命值)。即:受到伤害点数=攻击方攻击力值/2。
6.如果赢得了战斗,将获得攻击方所有经验值。如果对方身上还有钱财,将全部抢得。
7.如果体力不支,可以用钱恢复一些生命值。每10个钱可恢复1点生命值。只要有足够的钱,可以一直恢复,直到达到生命值上限(等级值的10倍)。
8.如果达到升级条件,可以升级。每次升级需要有等级值的10倍的经验值。每次升级所使用的经验值都将被扣除,不可重复用于下次升级。升级将提高生命值上限至新等级值的10倍,生命值将恢复为满血状态,并提升战斗力为新等级值。
怪兽类的方法说明:
1.为每个属性设置get方法。
2.怪兽的初始属性值将随机生成(注意在程序开头包括此处用到两个库:和)。该方法已实现如下:
void setX(){
srand(time(NULL));
rank=rand()%10+1;
hp=(rand()%rank+1)*5;
exp=rand()%rank+1;
damage=rand()%rank+1;
money=rand()%rank+1;
}
3.受到攻击时,将受到攻击方攻击力值大小的伤害(即损失相应的生命值)。即:受到伤害点数=攻击方攻击力值。
同时,如果所剩下的钱数为奇数,会被攻击方抢走一个钱财。
受到攻击可以反击,将使对方受到自身攻击力二分之一大小的伤害。
完善main函数,用户输入不同的整数,可以选择相应的功能:打怪1,逃跑2,补血3,结束4.
上述要求怎么解决两个类的相互引用,具体就是互相攻击的时候,被攻击方的生命值怎么引用另一个类的攻击值来减生命值
哪位大神求解求解