标题:写的一个猜拳小游戏,博大家一乐
只看楼主
逆水寒刘
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:76
专家分:117
注 册:2013-3-27
结帖率:90%
已结贴  问题点数:20 回复次数:5 
写的一个猜拳小游戏,博大家一乐
#include<iostream>
#include<ctime>
#include<string>
using namespace std;
class Game;
class Player
{
public:
    Player(){score=0;}
    int show_fist(int fist);
    friend class Game;
private:
    string name;
    int fist;
    int score;
};
class Computer
{
public:
    Computer(){score=0;}
int show_fist();
    friend class Game;
private:
    string name;
    int score;
};
class Game
{
public:
    void show_result();
    void newgame();
private:
    Player player;
    Computer computer;
    static int count;
};
 int Game::count=0;
int main() //主函数
{
    Game game;
        game.newgame();
        game.show_result();
    return 0;
}
int Player::show_fist(int fist)
{
    switch(fist)
    {
      case 1:cout<<name<<"出的是剪刀!"<<endl;break;
        case 2:cout<<name<<"出的是石头!"<<endl;break;
            case 3:cout<<name<<"出的是布!"<<endl;break;
    }
return fist;
}
int Computer::show_fist()
{
    srand((unsigned)time(NULL));
    int fist=rand()%3+1;
        switch(fist)
    {
      case 1:cout<<name<<"出的是剪刀!"<<endl;break;
        case 2:cout<<name<<"出的是石头!"<<endl;break;
            case 3:cout<<name<<"出的是布!"<<endl;break;
    }
return fist;
}
void Game::newgame()
{
    int select;
    string access;
    cout<<"---------欢迎进入猜拳游戏-------------------"<<endl;
    cout<<"猜拳规则:1.剪刀 2.石头 3.布"<<endl;
    cout<<"请选择对手:1.刘备 2.曹操 3.孙权(请输入数字):"<<endl;
    cin>>select;
    switch(select)
    {
      case 1:computer.name="刘备";break;
        case 2:computer.name="孙权";break;
            case 3:computer.name="曹操";break;
    }
    cout<<"请输入您的尊姓大名:";
    cin>>player.name;
    cout<<"开始游戏吗?(yes or no):";
    cin>>access;
    while(access=="yes")//循环;
    {
    int fist;
    cout<<"请出拳:";
    cin>>fist;
    int pfist=player.show_fist(fist);
    int cfist=computer.show_fist();
    if((pfist==1&&cfist==3)||(pfist==2&&cfist==1)||(pfist==3&&cfist==2))
    {
        cout<<player.name<<"获胜!"<<endl;
    player.score+=10;
    }
else if(pfist==cfist)
        cout<<"本局打和!"<<endl;
    else
    {cout<<computer.name<<"获胜!"<<endl;
    computer.score +=10;}
     count++;
     cout<<"还继续游戏吗?(yes or no):";
     cin>>access;
    }
}
void Game::show_result ()
{
    cout<<"-----------------比赛结果------------------"<<endl;
    cout<<"对战双方:"<<player.name<<"vs"<<computer.name<<endl;  
    cout<<"一共比赛"<<count<<"局"<<endl;
    cout<<player.name<<"得分为:"<<player.score<<endl;
    cout<<computer.name<<"得分为:"<< computer.score<<endl;
}
搜索更多相关主题的帖子: public include private namespace void 
2013-05-26 22:28
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6809
专家分:42393
注 册:2010-12-16
得分:4 
呵呵

我行我乐
我的博客:
http://blog.yuccn. net
2013-05-27 10:13
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:4 
呵呵

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-05-27 10:28
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2391
专家分:13384
注 册:2013-3-3
得分:4 
有意思

Maybe
2013-05-27 11:29
子楠
Rank: 3Rank: 3
来 自:武汉
等 级:论坛游侠
帖 子:111
专家分:164
注 册:2013-4-9
得分:4 
2013-05-27 16:34
我叫沃恩
Rank: 12Rank: 12Rank: 12
来 自:Asia
等 级:贵宾
威 望:10
帖 子:1234
专家分:3865
注 册:2013-3-29
得分:4 
赞一个!

因为我是菜鸟,所以应该被骂! 细节+坚持=成功!
2013-05-27 19:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-408845-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.638787 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved