| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 518 人关注过本帖
标题:石头剪刀布的游戏可以运行,输出的结果有点不正常?求大神。。。
只看楼主 加入收藏
chenzhibin07
Rank: 2
等 级:论坛游民
帖 子:57
专家分:64
注 册:2013-4-10
结帖率:91.67%
收藏
 问题点数:0 回复次数:2 
石头剪刀布的游戏可以运行,输出的结果有点不正常?求大神。。。
#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;
}

搜索更多相关主题的帖子: 剪刀 include return count 
2013-04-13 23:21
monkey11
Rank: 1
等 级:新手上路
帖 子:19
专家分:4
注 册:2012-10-29
收藏
得分:0 
judge函数,把判断写成赋值了,以后多检查检查就能找到的
2013-04-15 12:28
呱呱不瓜
Rank: 1
等 级:新手上路
帖 子:8
专家分:2
注 册:2013-4-22
收藏
得分:0 
用到了srand(time(NULL));时间函数,需加个头文件time.h
2013-10-01 18:32
快速回复:石头剪刀布的游戏可以运行,输出的结果有点不正常?求大神。。。
数据加载中...
 
   



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

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