原标题:C语言--人机对战的猜拳游戏
//C语言--人机对战的猜拳游戏
//讲课老师:蔡苏北
#include //标准输入输出头文件
#include //时间函数头文件
#include //标准通用工具头文件
//枚举
enum HAND{ST = 0, JD = 1, BU = 2};//石头|剪刀|布
//自定义函数
//获取系统的猜拳手形,返回一个随机的手形
enum HAND getSysHand()
{
enum HAND h;
h = rand() % 3;//rand()函数的返回值0 ~ 32676
return h;
}
//获取我们自己的猜拳手形
enum HAND getUserHand()
{
int choose;
printf("该你出拳了,可选手形(0.石头 1.剪刀 2.布),请输入相应的编号:");
while(scanf("%d", &choose) != 1 || choose < 0 || choose > 2)
{
printf("输入错误,请重新选择可选手形(0.石头 1.剪刀 2.布):");
fflush(stdin);//清空缓冲区
}
return ST + choose;
}
//判断输赢,如果我们赢了返回1,如果系统赢了返回-1, 如果双方猜拳手形一样返回0
int check(enum HAND user, enum HAND sys)
{
if(user != sys)
{
switch(user)
{
case ST: return (sys == JD ? 1 : -1);//如果系统出的是剪刀,我们就胜,否则就败
case JD: return (sys == BU ? 1 : -1);
case BU: return (sys == ST ? 1 : -1);
}
}
else
return 0;
}
int main()
{
//1.定义变量
int sys_money = 30;//系统的金额
int user_money = 30;//我们的金额
enum HAND sys_hand;//系统的猜拳手形
enum HAND user_hand;//我们的猜拳手形
int result;
//2.
srand(time(NULL));//用当前时间初始化随机种子
printf("系统的猜拳手形: %dn", sys_hand = getSysHand());
printf("我们的猜拳手形: %dn", user_hand = getUserHand());
result = check(user_hand, sys_hand);
printf("结果:%dn", result);
return 0;
责任编辑: