本帖最后由 lclofty 于 2015-6-17 16:04 编辑
//石头剪刀布游戏
//制定游戏的规则
/*
输赢的规则:
剪刀 干掉 布
石头 干掉 剪刀
布 干掉 石头
规定:
0.剪刀 1.石头 2.布
思路:
计算机随机出一个拳(计算机如何随机出拳)
玩家自己选择一个拳
判断输赢
*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
//定义两个变量储存计算机和用户的出拳
int computer = -1, player = -1;
char turnOff;
while (1){
//计算机先出拳,产生随机数
computer = arc4random_uniform(3);
//提示并让用户输入
printf("请出拳 0.剪刀 1.石头 2.布\n");
scanf("%d", &player);
//判断输赢
if ((computer==0 && player==1) || (computer==1 && player==2) || (computer==2 && player==0)){
printf("你赢了\n");
}else if ((computer==1 && player==0) || (computer==2 && player==1) || (computer==0 && player==2)){
printf("你输了\n");
}else if ((computer==1 && player==1 ) || (computer==2 && player==2) || (computer==3 && player==3)){
printf("平局\n");
}
//退出
printf("按[y/Y]退出,按其他任意键继续游戏\n");
scanf("%c", &turnOff);
if (turnOff == 'y' || turnOff == 'Y'){
break;
}else{
continue;
}
}
运行结果
请出拳 0.剪刀 1.石头 2.布 0 你赢了 按[y/Y]退出,按其他任意键继续游戏 请出拳 0.剪刀 1.石头 2.布
为什么提示退出判断后 还没有输入 就直接提示出拳了?拜托大家看看,是哪里错了呢?
|
|