怎么用c++来写人机猜拳小游戏程序?包括三个类,电脑类,person类,判断输赢。注意不是java

2025-05-06 09:26:07
推荐回答(1个)
回答1:

#include 
#include 
#include 
using namespace std;

class computer //电脑类
{
public:
int a;
    computer()  //构造函数
{
}
    void inni1()  //出拳
{
srand(time(0));
a = rand()%3;
}
void display1()  //输出出拳
{
if(a==0)
cout<<"电脑:石头\n";
else if(a==1)
cout<<"电脑:剪刀\n";
else
cout<<"电脑:布\n";
}
};

class person  //人类
{
public:
int b;
    person()  //构造函数
{
}
    void inni2()  //出拳
{
cout<<"请输入0、1或者2\n"
<<"0表示:石头\t1表示:剪刀\t2表示:布\n";
cin>>b;
}
void display2()  //输出出拳
{
if(b==0)
cout<<"你:石头\n";
else if(b==1)
cout<<"你:剪刀\n";
else
cout<<"你:布\n";
}
};

class evaluate:public computer,public person  //判断输赢类
{
public:
void pan_duan()
{
switch(a)
{
case 0:
if(b==0)
cout<<"平局\n";
else if(b==1)
cout<<"你输了!!\n";
else
cout<<"你赢了!!\n";
break;
case 1:
if(b==1)
cout<<"平局\n";
else if(b==2)
cout<<"你输了!!\n";
else
cout<<"你赢了!!\n";
break;
case 2:
if(b==2)
cout<<"平局\n";
else if(b==0)
cout<<"你输了!!\n";
else
cout<<"你赢了!!\n";
break;
}
}
};

int main()
{
evaluate eva;    //定义结果判断对象
    eva.inni2();     //人类出拳
eva.display2();  //输出人的出拳
eva.inni1();     //电脑出拳
eva.display1();  //输出电脑的出拳
eva.pan_duan(); //输出判断结果
//system("pause");
return 0;
}