C语言实操,求解答,123456

石头剪子布游戏
电脑出牌我应对,0 1 2分别代表石头剪子布。三局两胜,平局不计数,显示获胜者


#include<iostream>
#include<stdlib.h>
#include<ctime>
#include<iostream>
using namespace std;
class win
{
public:
    win(int r,int h)  //构造函数:将r h传入类的对象
    {
        i=r;
        j=h;

    }
    char result(int i,int j); //判断胜负关系

    void print();  //根据胜负关系输出信息

private:  //成员变量
    int i,j;
    char a,ch;

};
char win::result(int i, int j)
{

    if((i==0 && j==1)||(i==1 && j==2)||(i==2 && j==0))
        //return R;
        ch='R';
    else if((i==0 && j==2)||(i==1 && j==0)||(i==2 && j==1))
        //return P;
        ch='P';
    else if((i==0 && j==0)||(i==1 && j==1)||(i==2 && j==2))
        //return N;
        ch='N';
    return ch;
};
void win::print()
{
    char a=result(i,j);
    switch(a)
    {
    case'R': cout<<"you win!"<<endl; 
        break;
    case'P': cout<<"sorry,I win!"<<endl;
        break;
    case'N': cout<<"we are ok!"<<endl; 
        break;

    }

}

int main()
{
    int o;int p;
    char cha;

    int m=1;
    while(m==1)
    {
        cout<<"石头=0  剪刀=1  布=2 \n"<<endl;
        cout<<"please input a number"<<endl;
        cin>>o;
        while(o>2)
        {
            cout<<"please input a number again"<<endl;
            cin>>o;
        }

        srand((unsigned)time(0));
        p=rand()%3;  //p取得一个0~2之间的随机数
        cout<<p<<endl;
        win sjb(o,p);  //sjb是win类的一个对象
        sjb.result(o,p);  //判断胜负关系
        sjb.print();  //根据胜负关系输出信息
        cout<<"Do you want to try again?"<<endl;
        cin>>cha;
        if(cha=='y'){m=1;}
        else if(cha=='n')
        {m=0;cout<<"game over"<<endl;}
    }
    return 0;

}

img


可以参考!!!
麻烦采纳一下哦!谢谢

石头剪子布游戏,CSDN上就有很多,可以搜一下,有很多讲的也比较详细,自己看看思路敲一下,重点是学会如何自己去实现这个小游戏。

希望对题主有所帮助,可以的话,帮忙点个采纳!