上次发了个用C语言写得石头剪刀布的小游戏,但是上次那个程序太low了,只能执行一次如果想多玩两把,还必须反复执行,比较麻烦。在这里,巧妙利用死循环,让玩家可以多玩几把,直到玩家不想玩,要求结束游戏。下面就给出改进后的程序代码。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, const char * argv[])
{
//1.定义两个个变量 电脑和用户,并且 剪刀 0 石头 1 布 2
int player,computer;
//3.提醒用户出拳
printf("请出拳,其中0代表剪刀,1代表石头,2代表布,3 退出游戏\n");
while(1)
{
//2.利用随机数,电脑出拳
//computer= arc4random_uniform(3);//0 1 2
computer=arc4random()%3;
//printf("电脑的出拳为%d\n",computer);
//4.接收用户的出拳
scanf("%d",&player);
//5.判断用户的出拳是否合理
if(player<0||player>3)
{
printf("你的出拳不符合游戏规则\n");
return 0;
}
else
{
if(player==3)
{
printf("游戏正在退出。。\n");
return 0;
}
else
{
//6.用户出的拳和电脑出的拳做比较,判断输赢,输出比赛结果
//用户:0 电脑2 用户胜
//用户:1 电脑0 用户胜
//用户:2 电脑1 用户胜
if((player==0&&computer==2)||
(player==1&&computer==0)||
(player==2&&computer==1))
printf("恭喜你赢了\n");
else if ((player==2&&computer==0)||
(player==0&&computer==1)||
(player==1&&computer==2))
printf("很遗憾,你输了\n");
else
printf("平局\n");
printf("再来一次\n");
/*
else if(player==computer )
printf("平局\n");
else
printf("很遗憾,你输了\n");
*/ }
}
}
} |
|