已经很久没有更新了,虽然自己是一个菜鸟,啊哈哈哈哈!今天呢,就来写一个石头剪刀布的小游戏。
对于这个游戏的规则相信大家不用我多说了:
石头赢剪刀
剪刀赢布
布赢石头
因为我们玩这个游戏的对手就是电脑,因此我们需要电脑随机出拳,所以我们需要用到srand和rand函数,这两个函数的头文件是<stdlib.h>。在用srand函数的时候,我们还需要一个time函数,而它的头文件是<time.h>,以此来产生随机数,也就可以让电脑随机出拳了。
注:其实time函数产生的数也只是模仿随机而已,因为time函数获取的时间是从1970年1月1日00:00:00到当前时刻的秒数,由于数字庞大,我们就当它为随机的。
无论是电脑还是我们人,都只能出石头剪刀布这三种的其中一种,因此有三种出拳状态。我们用time函数产生的随机值除以3然后取余数,那么余数就只能是0,1,2这三个情况,我们这里用0表示石头,用1表示剪刀,用2表示布,玩家也按照这个规则输入,也就与电脑执行的规则一致了。
代码实现如下:
#include<stdio.h>
#include<time.h> //time函数头文件
#include<stdlib.h> //srand,rand函数头文件
int main()
{
int m,t,k;// m用来接收随机数除以3之后的余数,t接收玩家的出拳,k接收游戏是否结束的值
srand(time(0));//获取随机数
for(;;)
{
m=rand()%3;//随机数除以3取余
printf("请玩家输入(0=石头,1=剪刀,2=布):\n");
scanf("%d",&t);
if(m==t) printf("平局!\n");//平局的情况
if(t==0&&m==1||t==1&&m==2||t==2&&m==0) printf("恭喜你!你赢了!\n");//玩家赢的所有情况
if(t==0&&m==2||t==1&&m==0||t==2&&m==1) printf("很遗憾!你输了!\n");//电脑赢的所有情况
printf("可以输入数字6继续游戏!\n");
printf("可以输入数字9退出游戏!\n");
scanf("%d",&k);
if(k==9) break;//如果k==9,那么就跳出循环,也就意味着游戏结束
}
return 0;
}
若有错误或者疑问,私信我或者评论,拜拜!!!