您的位置:首页 > 编程语言 > C语言/C++

第5周 经典小程序2题 C语言实现的猜拳游戏(剪子锤子布)

2016-04-25 22:07 483 查看
下面的代码会实现一个猜拳游戏,让你与电脑对决。你出的拳头由你自己决定,电脑则随机出拳,最后判断胜负。

问题及代码:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
char gamer;
int computer;
int result;
while(1)
{
printf("我们与电脑来玩一个猜拳的游戏,请出你的结果:\n");
printf("A:剪刀\nB:石头\nC:布\nD:不玩了\n");
scanf("%c%*c",&gamer);
switch(gamer)//使用4、7、11是为了与后面的0-2及他们相加的结果不重复;
{
case 65:
case 97:
gamer=4;
break;
case 66:
case 98:
gamer=7;
break;
case 67:
case 99:
gamer=10;
break;
case 68:
case 100:
return 0;
default:
printf("你的选择是%c,选择错误,退出\n",gamer);
getchar();//这里为何需要这个语句?
system("cls");//清屏
return 0;
break;
}
srand((unsigned)time(NULL));
computer=rand()%3;//产生0-2随机数,即电脑的三种结果;
result=(int)gamer+computer;//gamer为字符型,数学运算时要强制转换类型;
printf("电脑出了:\n");
switch(computer)
{
case 0:
printf("电脑出剪刀\n");
break;
case 1:
printf("电脑出石头\n");
break;
case 2:
printf("电脑出布\n");
break;
}
printf("你出了:\n");
switch(gamer)
{
case 4:
printf("你出了剪刀\n");
break;
case 7:
printf("你出了石头\n");
break;
case 10:
printf("你出了布\n");
break;
}
if(result==6||result==7||result==11)
printf("你赢了\n");
else if(result==5||result==9||result==10)
printf("电脑赢了\n");
else
printf("平手\n");
system("pause>null&&cls");//暂停并清屏
}
return 0;
}
运行结果:



知识总结:

复习了随机数的运用,调用<time.h>,运用srand()函数;

将字符进行数字运算;

学习心得:

由于switch()参数为整型,所以需要将输入的字符转为数值,以便输出结果;

system("cls")清屏;

system("pause>NULL&&cls")暂停并清屏;

注意最后一个return 0是在while()循环之后返回结果。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: