• 每日总结


    今天完成了小学期的第五个项目,也就是石头剪刀布游戏,并且在多轮游戏后分析玩家的风格。简单的来说就是用电脑产生随机数,对随机数的范围进行规定,从而对电脑出拳进行规定。明天研究小学期的第六个项目,附代码

    #include <iostream>
    #include <cstdlib>
    #include <ctime>
    using namespace std;
    char a;
    char b;
    int suma=0,sumb=0,sum1=0,sum2=0,sum3=0;
    void A()
    {
    cout<<"游戏开始:"<<endl;
    for( int i=0;i<10;i++)
    {
    cout<<"第"<<i+1<<"局,请选择:A、石头 B、剪刀 C、布"<<endl;
    for(int i=0;i<100;i++)
    {
    cin>>a;
    if(a=='A') {sum1++;break;}
    else if(a=='B') {sum2++;break;}
    else if(a=='C') {sum3++;break;}
    else cout<<"输入格式不对,请重新输入A,B,C"<<endl;
    }
    srand((int)time(0));
    int j=rand()%3+1;
    if(j==1) b='A';
    else if(j==2) b='B';
    else b='C';
    if(a=='A'&&b=='B'||a=='B'&&b=='C'||a=='C'&&b=='A') {if(b=='A') cout<<"电脑:石头 "<<endl;if(b=='B') cout<<"电脑:剪刀 "<<endl;if(b=='C') cout<<"电脑:布"<<endl;cout<<"本局你赢了!"<<endl;suma++;}
    else if(b=='A'&&a=='B'||b=='B'&&a=='C'||b=='C'&&a=='A') {if(b=='A') cout<<"电脑:石头 "<<endl;if(b=='B') cout<<"电脑:剪刀 "<<endl;if(b=='C') cout<<"电脑:布"<<endl;cout<<"本局你输了诶。"<<endl;sumb++;}
    else {if(b=='A') cout<<"电脑:石头 "<<endl;if(b=='B') cout<<"电脑:剪刀 "<<endl;if(b=='C') cout<<"电脑:布"<<endl;cout<<"平局"<<endl;}
    }
    if(suma>sumb) cout<<"回合结束,最终你赢了!"<<endl;
    else if(suma<sumb) cout<<"回合结束,最终你输了!"<<endl;
    else cout<<"回合结束,最终平局"<<endl;
    suma=0;
    sumb=0;
    }
    void B()
    {
    int p=sum1+sum2+sum3;
    int q=sum1+sum2;
    cout<<"新一回合的游戏开始:"<<endl;
    for(int i=0;i<10;i++)
    {
    cout<<"第"<<i+1<<"局,请选择:A、石头 B、剪刀 C、布"<<endl;
    for(int i=0;i<100;i++)
    {
    cin>>a;
    if(a=='A') {sum1++;break;}
    else if(a=='B') {sum2++;break;}
    else if(a=='C') {sum3++;break;}
    else cout<<"输入格式不对,请重新输入A,B,C"<<endl;
    }
    srand((int)time(0));
    int j=rand()%p+1;
    if(j>=1&&j<=sum1) b='C';
    else if(j>sum1&&j<=p) b='A';
    else b='B';
    if(a=='A'&&b=='B'||a=='B'&&b=='C'||a=='C'&&b=='A') {if(b=='A') cout<<"电脑:石头 "<<endl;if(b=='B') cout<<"电脑:剪刀 "<<endl;if(b=='C') cout<<"电脑:布"<<endl;cout<<"本局你赢了!"<<endl;suma++;}
    else if(b=='A'&&a=='B'||b=='B'&&a=='C'||b=='C'&&a=='A') {if(b=='A') cout<<"电脑:石头 "<<endl;if(b=='B') cout<<"电脑:剪刀 "<<endl;if(b=='C') cout<<"电脑:布"<<endl;cout<<"本局你输了诶。"<<endl;sumb++;}
    else {if(b=='A') cout<<"电脑:石头 "<<endl;if(b=='B') cout<<"电脑:剪刀 "<<endl;if(b=='C') cout<<"电脑:布"<<endl;cout<<"本局平局"<<endl;}
    }
    if(suma>sumb) cout<<"回合结束,最终你赢了!"<<endl;
    else if(suma<sumb) cout<<"回合结束,最终你输了!"<<endl;
    else cout<<"回合结束,最终平局"<<endl;
    suma=0;
    sumb=0;
    }
    int main()
    {
    int n;
    cout<<"石头剪刀布游戏开始,十局为一回合,系统将在一回合后分析你的游戏风格,请问你要玩几回合呢:"<<endl;
    cin>>n;
    if(n==1) A();
    else
    {
    A();
    for(int i=1;i<n;i++)
    {
    B();
    }
    }
    cout<<"感谢尝试本游戏"<<endl;
    return 0;
    }

  • 相关阅读:
    HDU 1272 小希的迷宫 (并查集)
    HDU 5723 Abandoned country (最小生成树 + dfs)
    HDU 5744 Keep On Movin (贪心)
    探索Redis设计与实现2:Redis内部数据结构详解——dict
    探索Redis设计与实现1:Redis 的基础数据结构概览
    重新学习Mysql数据13:Mysql主从复制,读写分离,分表分库策略与实践
    重新学习MySQL数据库12:从实践sql语句优化开始
    重新学习MySQL数据库11:以Java的视角来聊聊SQL注入
    重新学习MySQL数据库10:MySQL里的那些日志们
    重新学习MySQL数据库9:Innodb中的事务隔离级别和锁的关系
  • 原文地址:https://www.cnblogs.com/ldy2396/p/14159321.html
Copyright © 2020-2023  润新知