//
// main.c
// 剪刀石头布小游戏
// switch和if语句的使用
// Created by black on 15/10/21.
// Copyright © 2015年 black. All rights reserved.
//
#include <stdio.h>
#include <stdlib.h>
//显示赢
int win(){
printf("恭喜你,你赢了!\n");
return 0;
}
//显示输
int lose(){
printf("很遗憾,你输了!\n");
return 0;
}
//显示平局
int ping(){
printf("平局!\n");
return 0;
}
int game(){
// 定义两个变量,computer电脑出拳 player 玩家出拳
int computer = -1,player = -1;
//为电脑出拳获取随机数
computer = arc4random_uniform(3);
//定义三种拳对应的值
printf("请出拳:0 剪刀 1 石头 2 布\n");
scanf("%d",&player);
//判断输入是否有误
while (player!=0&&player!=1&&player!=2) {
printf("输入有误,请重新输入\n");
printf("请出拳:0 剪刀 1 石头 2 布\n");
scanf("%d",&player);
}
int i; //用来判断输赢
i = computer - player;
//i == 0时 为平局
if (i == 0) {
ping();
}
//i == 1 或者-2是电脑胜
else if (i == 1||i == -2){
lose();
}
//i == 2 或者-1时 万家胜
else win();
//显示玩家出拳
switch (player) {
case 0:
printf("你出的是剪刀\t");
break;
case 1:
printf("你出的是石头\t");
break;
case 2:
printf("你出的是布\t");
break;
default:
break;
}
//显示电脑出拳
switch (computer) {
case 0:
printf("电脑出的是剪刀\n");
break;
case 1:
printf("电脑出的是石头\n");
break;
case 2:
printf("电脑出的是布\n");
break;
default:
break;
}
return 0;
}
int main(int argc, const char * argv[]) {
system("clear");
printf("\t欢迎来到剪刀石头布游戏!\n");
int i = 1; //i用来判断是否要重玩游戏或者结束
do {
game();
printf("0 结束游戏 1 再来一次 \n");
scanf("%d",&i);
system("clear");
} while (i==1);
printf("游戏结束!\n");
return 0;
}