建民打卡日记4.28

cor0000 / 2023-05-04 / 原文

一、问题描述

大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:

现要求你编写一个稳赢不输的程序,根据对方的出招,给出对应的赢招。但是!为了不让对方输得太惨,你需要每隔次就让一个平局。

二、流程设计

1.录入平局间隔次数,定义计数器;

2.End结束游戏,break;

3.若达到间隔次数,则计数器置0,并输出录入的字符串;

4.若未达到间隔次数,则计数器+1,并输出相应结果。

三、代码实现

#include <iostream>

using namespace std;

int main()
{
    int k;//平局间隔次数
    cin>>k;
    int n=0;//计数器
    while(1)
    {
        string s;
        cin>>s;
        if(s=="End")//End结束游戏
            break;
        if(n!=k)//没有到达间隔次数
        {
            n++;
            if(s=="Bu")
                cout<<"JianDao"<<endl;
            else if(s=="ChuiZi")
                cout<<"Bu"<<endl;
            else if(s=="JianDao")
                cout<<"ChuiZi"<<endl;
        }
        else//到达间隔次数
        {
            n=0;
            cout<<s<<endl;
        }
    }
    return 0;
}