oj平台做题汇总

//从前有一个王子,他喜欢上了邻国的一个公主。终于有一天他向公主表白了,公主答应了他。
//在婚礼那天,可恶的魔王来了,他抢走了公主。王子很愤怒(╰_╯)#,他决定打上魔宫救回公主。
//临走那天,巫师给了他一本魔法书,让他可以看到自己与敌人的差距,来促使他不断进步。
//当王子可以打败怪物时魔法书显示:Trial!,当打不败时显示:You need more power!
//怪物的等级比较低,只有被攻击时才会反击,王子会不断地进行攻击,每攻击一次,
//怪物就反击一次,直到怪物被杀死,或者被怪物杀死。
//损失的血量 = 敌人的攻击-自己的防御

//Input
//输入有多行
//第一行:怪物的属性:血量,攻击,防御;
//第二行:王子的属性:血量,攻击,防御。
//
//Output
//打不过怪物时输出:You need more power!,否则输出:Trial!。

//例如
//9 6 2
//8 5 3
//表示怪物有9点血,6点攻击,2点防御
//王子有8点血,5点攻击,3点防御
//王子攻击怪物一次,由题意可知
//怪物损失3点血
//怪物反击王子一次
//王子损失3点血
//现在的状态
//6 6 2
//5 5 3
//。
//。
//。
//最后王子剩了2点血
//可以杀死怪物
//输出Trial!

#include<iostream>
using namespace std;
class Role
{
public:
    friend void judge(Role &,Role &);
    void input()
    {
        cin>>HP>>ATK>>DEF;
    }
private:
    int HP;//血量
    int ATK;//攻击
    int DEF;//防御
};
//以下请给出 成员函数judge
void judge(Role &m,Role &p)
{
    while(1)
    {
        m.HP-=p.ATK-m.DEF;
        p.HP-=m.ATK-p.DEF;
        if(m.HP<=0)
        {
            cout<<"Trial!"<<endl;
            break;
        }
        if(p.HP<=0)
        {
            cout<<"You need more power!"<<endl;
            break;
        }
    }
}
//以下代码会自动添加到程序的末尾
int main()
{
    Role monster,prince;
    monster.input();
    prince.input();
    judge(monster,prince);
    return 0;
}

你可能感兴趣的:(类,iostream)