怎么用C语言编出猜拳游戏

 我来答
LifeReset
电脑发烧友

2011-05-23 · 识迷途其未远,觉今是而昨非
LifeReset
采纳数:902 获赞数:1485

向TA提问 私信TA
展开全部
挺有意思的,我用vc++6.0试了试,似乎可以
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{int a,b,c,d,e,f=0,g=0,h=0,num=0;
float i,j,k=0;
int caiquan1(int x);
int caiquan2(int x);
int shengfu1(int x,int y);
int shengfu2(int x,int y);
srand((int)time(0));

printf("1=剪刀\t2=锤子\t3=布\t0=结束\n");
printf("请输入\n");

while(1)
{
scanf("%f",&i);
a=(int)i;

if(a!=0&&a!=1&&a!=2&&a!=3)
{printf("输入错误,请重新输入\n");continue;}
if(a==0) break;

system("cls");

printf("1=剪刀\t2=锤子\t3=布\t0=退出\n");
printf("请输入\n");

b=1+rand()%99;
j=(a-1)*50;
printf("你出:");caiquan1(j);
c=caiquan2(j);
printf("\n");
printf("电脑出:");caiquan1(b);
d=caiquan2(b);
printf("\n");
num++;

shengfu1(c,d);
e=shengfu2(c,d);
if(e==1) f++;
if(e==2) g++;
if(e==3) h++;}

system("cls");
printf("赢%d\n",f);
printf("平%d\n",g);
printf("负%d\n",h);
printf("胜率%f\n",((float)f/num));
}

int caiquan1(int x)
{if(x<34) printf("剪刀");
else if(x>66) printf("布");
else printf("锤子");
return(0);}

int caiquan2(int x)
{int y;
if(x<34) y=1;
else if(x>66) y=3;
else y=2;
return(y);}

int shengfu1(int x,int y)
{if(x==1&&y==3) printf("赢");
else if(x==2&&y==1) printf("赢");
else if(x==3&&y==2) printf("赢");
else if(x==y) printf("平");
else printf("负");
return(0);}

int shengfu2(int x,int y)
{int k;
if(x==1&&y==3) k=1;
else if(x==2&&y==1) k=1;
else if(x==3&&y==2) k=1;
else if(x==y) k=2;
else k=3;
return(k);}
lovedf2006
2011-05-23 · TA获得超过349个赞
知道小有建树答主
回答量:499
采纳率:0%
帮助的人:261万
展开全部
暂时没有时间,有时间再给你写.
大概是这样的, 一个函数产生随机数,
再加几个if语句 应该是可以的.
你可以试着先写写撒
追问
嗯。谢谢,我最近就要做了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式