| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 745 人关注过本帖
标题:石头剪刀布的游戏,不知道哪错了?求大神。。。
只看楼主 加入收藏
chenzhibin07
Rank: 2
等 级:论坛游民
帖 子:57
专家分:64
注 册:2013-4-10
结帖率:91.67%
收藏
已结贴  问题点数:20 回复次数:8 
石头剪刀布的游戏,不知道哪错了?求大神。。。
#include <stdio.h>
#include <stdlib.h>
int pscore=0,cscore=0,count=0;

int cshowfist()
{int show;
 srand(time(NULL));
 show=rand()%3+1;
 switch (show)
  { case 1:
      printf("\n电脑出:剪刀");break;
    case 2:
       printf("\n电脑出:石头");break;
    case 3:
       printf("\n电脑出:布");break;
   }            
   return show;}

int pshowfist()
{int show;
 printf("\n请玩家出拳:1.剪刀 2.石头 3.布<输入相应的数字>");
 scanf("%d",&show);
 switch (show)
 {  case 1:
        printf("玩家出:剪刀");break;
    case 2:
        printf("玩家出: 石头");break;
    case 3:
        printf("玩家出: 布");break;
 }               
 return show;}         
   
void judge(int a ,int b )
{  if((b==2 && a==2) ||(b==3 && a==3)||(b==1 && a==1))
         {printf("\n结果,令人意外!竟以和局收场。");}   
     else if ( (b==1 && a==3)||(b==2 && a==1)||(b==3 && a==2))
        {printf("\n ^_^ 恭喜,玩家赢得胜利!");pscore++; }
     else
          {printf("\n真笨,输给机器!!!"); cscore++;}
              
}

void getscore()
{int result;
 printf("\n---------------------------------------------------------------------");
 printf("\n对战%d次,玩家赢%d次,平%d次,输%d次!",count,pscore,count-pscore-cscore,cscore);
 printf("\n-------------------------------------------------------------------");
 if(pscore==cscore)
       result=1;
 else if(pscore>cscore)
      result=2;
 else
      result=3;
 if(result==1)
   printf("\n结果:打成平手,下次再分高下!");
 else if(result==2)
   printf("\n结果:玩家获得最终胜利,恭喜!");
 else
   printf("\n结果:玩家落败,真笨!");
 printf("\n");   
}
      
int main(int argc, char *argv[])
{char x='y';int a,b;
 
 while(x=='y')
  {
    b=pshowfist();
    a=cshowfist();
    judge(a,b);
    count++;
    printf("玩家是否继续游戏?(y/n)");
    fflush(stdin);
    x=getch();
     system("cls");
    }
   getscore();
   
    system("PAUSE");   
  return 0;
}


[ 本帖最后由 chenzhibin07 于 2013-4-13 22:50 编辑 ]
搜索更多相关主题的帖子: 剪刀 剪刀 include include return return count count 
2013-04-13 20:33
tompobing
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:260
专家分:809
注 册:2012-12-9
收藏
得分:5 
....
2013-04-13 20:38
chenzhibin07
Rank: 2
等 级:论坛游民
帖 子:57
专家分:64
注 册:2013-4-10
收藏
得分:0 
回复 2楼 tompobing
石头剪刀布的游戏。。。。。。。不知道哪里错了
求救
2013-04-13 20:46
sanxinbccn
Rank: 2
等 级:论坛游民
帖 子:52
专家分:92
注 册:2012-4-25
收藏
得分:5 
判断函数的if括弧错误。=与==!!
2013-04-13 21:53
chenzhibin07
Rank: 2
等 级:论坛游民
帖 子:57
专家分:64
注 册:2013-4-10
收藏
得分:0 
回复 4楼 sanxinbccn
刚才少了=号,求解
2013-04-13 22:56
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 
 

DO IT YOURSELF !
2013-04-13 23:07
逆风而前
Rank: 7Rank: 7Rank: 7
来 自:福建
等 级:黑侠
威 望:7
帖 子:193
专家分:567
注 册:2013-2-14
收藏
得分:5 
第一处错误
#include <stdio.h>
#include <stdlib.h>
#include <time.h> /*用到了time函数,所以要有这个头文件*/    《----加上这句话

第二处

count++;
    printf("玩家是否继续游戏?(y/n)");
    fflush(stdin);
    x=getchar();
    system("cls");
2013-04-13 23:19
chenzhibin07
Rank: 2
等 级:论坛游民
帖 子:57
专家分:64
注 册:2013-4-10
收藏
得分:0 
回复 7楼 逆风而前
看一下这个,可以运行结果有点混乱。。。
#include <stdio.h>
#include <stdlib.h>
int pscore=0,cscore=0,count=0;

int cshowfist()
{int show;
 srand(time(NULL));
 show=rand()%3+1;
 switch (show)
  { case 1:
      printf("\n电脑出:剪刀");break;
    case 2:
       printf("\n电脑出:石头");break;
    case 3:
       printf("\n电脑出:布");break;
   }            
   return show;}

int pshowfist()
{int show;
 printf("\n请玩家出拳:1.剪刀 2.石头 3.布<输入相应的数字>");
 scanf("%d",&show);
 switch (show)
 {  case 1:
        printf("玩家出:剪刀");break;
    case 2:
        printf("玩家出: 石头");break;
    case 3:
        printf("玩家出: 布");break;
 }               
 return show;}         
   
void judge(int p ,int c )
{  if(p=2 && c==2)
      {printf("\n结果,令人意外!竟以和局收场。");}  
  else if(p=1 && c==1)
      {printf("\n结果,令人意外!竟以和局收场。");}      
  else if(p=3 && c==3)
      {printf("\n结果,令人意外!竟以和局收场。");}      
         
  else if (p==1 && c==3)
        {printf("\n ^_^ 恭喜,玩家赢得胜利!");pscore++; }      
         
  else if (p==2 && c==1)
        {printf("\n ^_^ 恭喜,玩家赢得胜利!");pscore++;}
  else if (p==3 && c==2)
        {printf("\n ^_^ 恭喜,玩家赢得胜利!");pscore++; }
                  
  else if(p==3 && c==1)
          {printf("\n真笨,输给机器!!!"); cscore++;}
  else if(p==2 && c==3)
          {printf("\n真笨,输给机器!!!"); cscore++;}
  else  
          {printf("\n真笨,输给机器!!!"); cscore++;}                  
}

void getscore()
{int result;
 printf("\n---------------------------------------------------------------------");
 printf("\n对战%d次,玩家赢%d次,平%d次,输%d次!",count,pscore,count-pscore-cscore,cscore);
 printf("\n-------------------------------------------------------------------");
 if(pscore==cscore)
       result=1;
 else if(pscore>cscore)
      result=2;
 else
      result=3;
 if(result==1)
   printf("\n结果:打成平手,下次再分高下!");
 else if(result==2)
   printf("\n结果:玩家获得最终胜利,恭喜!");
 else
   printf("\n结果:玩家落败,真笨!");
 printf("\n");   
}
      
int main(int argc, char *argv[])
{char x='y';
 int p;
 int c;
 fflush(stdin);
 while(x=='y')
  {
    p=pshowfist();
    c=cshowfist();
    judge(p,c);
    count++;
    printf("玩家是否继续游戏?(y/n)");
    fflush(stdin);
    x=getch();
     system("cls");
    }
   getscore();
    system("PAUSE");   
  return 0;
}

2013-04-13 23:28
chenzhibin07
Rank: 2
等 级:论坛游民
帖 子:57
专家分:64
注 册:2013-4-10
收藏
得分:0 
回复 6楼 wp231957
大神看下,可以运行,但结果有
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int pscore=0,cscore=0,count=0;

int cshowfist()
{int show;
 srand(time(NULL));
 show=rand()%3+1;
 switch (show)
  { case 1:
      printf("\n电脑出:剪刀");break;
    case 2:
       printf("\n电脑出:石头");break;
    case 3:
       printf("\n电脑出:布");break;
   }            
   return show;}

int pshowfist()
{int show;
 printf("\n请玩家出拳:1.剪刀 2.石头 3.布<输入相应的数字>");
 scanf("%d",&show);
 switch (show)
 {  case 1:
        printf("玩家出:剪刀");break;
    case 2:
        printf("玩家出: 石头");break;
    case 3:
        printf("玩家出: 布");break;
 }               
 return show;}         
   
void judge(int p ,int c )
{  if(p=2 && c==2)
      {printf("\n结果,令人意外!竟以和局收场。");}  
  else if(p=1 && c==1)
      {printf("\n结果,令人意外!竟以和局收场。");}      
  else if(p=3 && c==3)
      {printf("\n结果,令人意外!竟以和局收场。");}      
         
  else if (p==1 && c==3)
        {printf("\n ^_^ 恭喜,玩家赢得胜利!");pscore++; }      
         
  else if (p==2 && c==1)
        {printf("\n ^_^ 恭喜,玩家赢得胜利!");pscore++;}
  else if (p==3 && c==2)
        {printf("\n ^_^ 恭喜,玩家赢得胜利!");pscore++; }
                  
  else if(p==3 && c==1)
          {printf("\n真笨,输给机器!!!"); cscore++;}
  else if(p==2 && c==3)
          {printf("\n真笨,输给机器!!!"); cscore++;}
  else  
          {printf("\n真笨,输给机器!!!"); cscore++;}                  
}

void getscore()
{int result;
 printf("\n---------------------------------------------------------------------");
 printf("\n对战%d次,玩家赢%d次,平%d次,输%d次!",count,pscore,count-pscore-cscore,cscore);
 printf("\n-------------------------------------------------------------------");
 if(pscore==cscore)
       result=1;
 else if(pscore>cscore)
      result=2;
 else
      result=3;
 if(result==1)
   printf("\n结果:打成平手,下次再分高下!");
 else if(result==2)
   printf("\n结果:玩家获得最终胜利,恭喜!");
 else
   printf("\n结果:玩家落败,真笨!");
 printf("\n");   
}
      
int main(int argc, char *argv[])
{char x='y';
 int p;
 int c;
 fflush(stdin);
 while(x=='y')
  {
    p=pshowfist();
    c=cshowfist();
    judge(p,c);
    count++;
    printf("玩家是否继续游戏?(y/n)");
    fflush(stdin);
    x=getch();
     system("cls");
    }
   getscore();
    system("PAUSE");   
  return 0;
}

2013-04-13 23:31
快速回复:石头剪刀布的游戏,不知道哪错了?求大神。。。
数据加载中...
 
   



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

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