無法不要牌繼續。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int card[13] = { 0 };
int player_point = 0, computer_pount = 0, temp_record;
int get_card()
{
int point = rand() % 13 + 1;//1~13
while (card[point] >= 4)
{
point = rand() % 13 + 1;
}
card[point]++;
return point;
}
void player_get_card()
{
temp_record = get_card();
player_point += temp_record;
printf("你拿到一張牌: [%d]\n",temp_record);
printf("你的總點數為: %d\n", player_point);
}
void computer_get_card()
{
printf("電腦拿了一張牌\n");
computer_pount += get_card();
}
void lose_or_win()
{
if (player_point > 21 && computer_pount > 21)
printf("兩方都輸啦!!");
else if (player_point > 21)
printf("你輸啦!!");
else if (computer_pount > 21)
printf("你贏啦!!");
else if (player_point > computer_pount)
printf("你贏啦!!");
else if (player_point < computer_pount)
printf("你輸啦!!");
else if (player_point == computer_pount)
printf("平手啦!!");
}
int main()
{
srand(time(NULL));
char cmd;
printf("\n\n");
printf("~~歡迎來玩 21點 小遊戲~~\n\n");
system("pause");
system("cls");
player_get_card();
computer_get_card();
while (1)
{
printf("-----------------------");
printf("\n\n");
printf("請問要繼續嗎? (y/n)\n");
printf("y: 繼續 n:結束此局\n");
scanf_s("%c", &cmd);
getchar();
if (cmd == 'n' || cmd == 'N')
break;
printf("-----------------------");
printf("\n");
player_get_card();
computer_get_card();
if (player_point > 21 || computer_pount > 21)
break;
}
printf("-----------------------\n\n");
printf("你的點數: %d\n", player_point);
printf("電腦的點數: %d\n", computer_pount);
printf("\n");
lose_or_win();
system("pause");
return 0;
}
沒有留言:
張貼留言