猜拳遊戲的製作-使用if製作
/*
分析:
要讓電腦出拳
要讓玩家出拳
玩家出拳讓玩家輸入
電腦出拳應該隨機輸入
約定:
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;
}
分析:
要讓電腦出拳
要讓玩家出拳
玩家出拳讓玩家輸入
電腦出拳應該隨機輸入
約定:
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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.