中易网

用C语言编写一个游戏:剪刀,石头,布的,用随即数来实现。哪位大大帮帮

答案:4  悬赏:40  
解决时间 2021-03-13 04:00
不用太复杂,简单的实现就行了。
最佳答案

#include<stdio.h>
#include<time.h>
#include<stdlib.h>


int fight(int a, int b)
{
int result;
result=a-b;
if (result==2) result=-1;
else if (result==-2) result=1;
return result;
}
int main()
{
int computer,player;
srand(time(0));
while (1)
{
printf("0 剪刀\n1 石头\n2 布\n3 退出\n");
printf("please input your choice number: ");
scanf("%d",&player);
if (player>=0&&player<=2)
{
computer=rand()%3;
if (computer==0) printf("我出剪刀!\n");
else if (computer==1) printf("我出石头!\n");
else printf("我出布!\n");
if (fight(computer,player)==1) printf("I win!!! ^_^\n");
else if (fight(computer,player)==-1) printf("You win... T_T\n");
else printf("The same\n");
}
else if (player==3) break;
else printf("wrong input!\n");
}
return 0;
}
全部回答
#include #include #include int main(void){ char gesture[3][10] = {"scissor","stone","cloth"}; int man, computer, result, ret; srand(time(null)); while(1){ computer = rand()%3; printf("\ninput your gesture 0-scissor 1-stone 2-cloth:\n"); ret = scanf("%d", &man); if(ret !=1 || man<0 || man>2){ printf("invalid input!\n"); return 1; } printf("your gesture:%s\tcomputer's gesture: %s\n", gesture[man], gesture[computer] ); result = (man - computer + 4) %3 -1; if(result > 0) printf("you win!\n"); else if(result == 0) printf("draw!\n"); else printf("you lose!\n"); } return 0;
同意楼上的,不过需要再加入两个头文件 #include<stdlib.h> #include<conio.h>
#include<stdio.h> #include<time.h> void main() { int computer; int player; int tmp; char *v[3]={"shitou","jiandao","bu"}; char ch; srand(time(NULL)); while(1) { system("cls"); computer=rand()%3; printf("\n(0)shitou\t(1)jiandao\t(2)bu\n"); printf("Please input your choice:"); scanf("%d", &player); if(player<0 || player>2) continue; printf("\nComputer:\t%s",v[computer]); printf("\nYou:\t\t%s\n\n",v[player]); tmp = player - computer; if(tmp == 1 || tmp == -2) printf("Computer Win!\n\n"); if(tmp == -1 || tmp == 2) printf("You Win!\n\n"); printf("\n****************************************************"); printf("\npress 'n' or 'N' to quit! any other key to continue!"); ch =getch(); if(ch=='n' || ch=='N') return; } }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
车被追尾我的车没事,能让对方赔偿吗
中国好声音4位导师都转身的有哪几个啊?
下列说法正确的是( )A.没有摩擦我们通
金源食杂店地址在哪,我要去那里办事
兴龙湖小学我想知道这个在什么地方
本人使用的是移动手机号码,在一月份的账单中
我是天平座请问我在语文是语文数学和美术英语
首次QQ同步时可以选择三个模式,云端为准,手
创办一家网络科技公司最低需要多少注册资金
广州名昊木门地址在哪,我要去那里办事
惠普1510打印机自带的墨盒是61的,在大陆只能
尿路感染一定会尿频尿急尿痛吗??没有这些症
小时代插曲,,只有歌词。没有你傍晚风景在美
一台电脑可以同时装有俩个系统吗?比如dos和w
摩托车怎么防盗啊
推荐资讯
青云店镇泥营村村务监督委员会这个地址在什么
暂估入库的金额
那种保鲜剂可以保持河粉的水分
谁能解析一下达州未来几年的房价走势?
1001乘1001减1001简便计算
在和光的五笔打法
贵州教育学会学前教育专业委员会这个地址在什
双卵巢多囊改变,平时吃什么对身体好?中医还
QQ三国关羽的夺命一斩具体伤害效果
电信网速慢上哪里投诉比较有用?
花中四雅指的四种花
建德叶公祠地址有知道的么?有点事想过去
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?