/*
說明:1.電腦會先隨機產生0,1,2三個數字(0:剪刀 1:石頭 2:布)
2.請使用者輸入一個數字,0: 剪刀,1:石頭 2:布, >=3:不玩了,並輸出勝負場數,9:不玩了,並輸出勝負場數
3.比較你的出拳跟電腦的出拳,輸出勝負或平手
4.使用計數器,記只錄輸贏狀況
使用到的技術:
1.if ...else /switch ...case判斷式( 判斷輸贏)
2.while loop重複玩
3.變數用來記錄電腦產生的數字,你猜拳的數字,還有輸贏次數
4.使用I/O:printf,scanf
5.使用函數random隨機產生數字
*/
#include<stdio.h>
#include<stdlib.h>
#include <time.h>
int gen_number()//負責產生亂數數字0~2
{
//設定亂數種子為當下時間
srand(time(NULL)) ;
int number=rand()%3;//產生[0,1,2]的整數亂數
return number;
}
main()
{
int computer_guess;
int player_guess;
int win_count=0;
int guess_count=0;
while(guess_count<3)
{
printf("請輸入 0: 剪刀,1:石頭 2:布 [9:離開遊戲]: ");
scanf("%d",&player_guess);
if(player_guess==9)//判斷是否離開
{
printf("Byte bye...");
break;
}
computer_guess=gen_number();
printf("電腦出拳:%d \n",computer_guess);
guess_count++;//累加的意思
if(computer_guess==player_guess)
{
printf("平手\n");
continue;
}
switch(player_guess)
{
case 0://0: 剪刀
if(computer_guess==2)
{
printf("玩家贏了\n");
win_count++;
}
else
{
printf("你輸了\n");
}
break;
case 1://1: 石頭
if(computer_guess==0)
{
printf("玩家贏了\n");
win_count++;
}
else
{
printf("你輸了\n");
}
break;
case 2://2: 布
if(computer_guess==1)
{
printf("玩家贏了\n");
win_count++;
}
else
{
printf("你輸了\n");
}
break;
default:
printf("別要在亂出拳\n");
}
}//end of while
if(win_count>=2)
{
printf("player win\n");
}
else
{
printf("computer win\n");
}
//printf("你總共現了%d次,贏了%d次\n",guess_count,win_count);
return 0;
}
沒有留言:
張貼留言