分析:
要让电脑出拳
要让玩家出拳
玩家出拳让玩家输入
电脑出拳应该随机输入
约定:
0--代表剪刀 1--代表石头 2--布
电脑也是 0--代表剪刀 1--代表石头 2--布
等于就是要让玩家输入0或者1或者2
电脑要随机出0或者1或者2
所以,我们需要用到1个随机数的函数
随机函数的使用:
1.导入头文件 #include <stdlib.h>
2.arc4random_uniform(u_int32_t);
3.括号里面填正整数,比如说你填的是n,那么就会随机产生从0-n-1的数里的任何一个
例:n=3 那么就会在 0 1 2里面随机产生出一个数
让用户输入要猜的拳
分析:
如果玩家出得是剪刀
如果电脑出得是剪刀 0
平局
如果电脑出得是石头 1
电脑赢
否则
玩家赢
如果玩家出得是石头
如果电脑出得是剪刀 0
玩家赢
如果电脑出得是石头 1
平局
否则
电脑赢
如果玩家出得是布
如果电脑出得是剪刀 0
电脑赢
如果电脑出得是石头 1
玩家赢
否则
平局
代码实现:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, const char * argv[]) {
int computer = arc4random_uniform(3);
//让用户输入要猜的拳
int player;
printf("请输入您要猜的拳:0--代表剪刀 1--代表石头 2--布\n");
scanf("%d",&player);
if(player == 0){//玩家出得是剪刀
if(computer == 0){
printf("玩家出的是剪刀,电脑出的是剪刀,平局");
}else if(computer == 1){
printf("玩家出的是剪刀,电脑出的是石头,电脑赢");
}else{//else一定是2
printf("玩家出的是剪刀,电脑出的是布,玩家赢");
}
}else if(player == 1){ //玩家出得是石头
if(computer == 0){
printf("玩家出的是石头,电脑出的是剪刀,玩家赢");
}else if(computer == 1){
printf("玩家出的是石头,电脑出的是石头,平局");
}else{//else一定是2 电脑出得是布
printf("玩家出的是石头,电脑出的是布,电脑赢");
}
}else if(player == 2){ //玩家出的是布
if(computer == 0){
printf("玩家出的是布,电脑出的是剪刀,电脑赢");
}else if(computer == 1){
printf("玩家出的是布,电脑出的是石头,玩家赢");
}else{//else一定是2 电脑出得是布
printf("玩家出的是布,电脑出的是布,平局");
}
}else{ //进到这里证明玩家输入的是不是0也不是1也不是2
printf("非法输入\n");
}
return 0;
}