글
카드게임
프로그래밍
2009. 11. 17. 15:30
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define computer 1
#define user 2
#define NOT_USED -1
#define USED 0
int card[4] [13];
int computer_card[3] [2];
int user_card[3] [2];
void shuffle()
{
int i, j;
for(i=0; i<3; i++)
for(j=0; j<2; j++)
computer_card[i] [j] = NOT_USED;
for(i=0; i<3; i++)
for(j=0; j<2; j++)
user_card[i] [j] = NOT_USED;
}
void getcard(int kind, int index)
{
int shape, num;
do{
shape = rand() % 4;
num= rand() % 13;
} while(card[shape] [num]
card[shape] [num] = used;
shape++;
num++;
if(num > 10)
num = 10;
if(kind==computer)
computer_card[index] [0] = shape;
computer_card[index] [0] = num;
}
else
user_card
}
void showcard()
{
printf("computer : ");
for(i=0; i<3; i+) {
if(computer_card[i] [0] == not_used)
break;
printf("[%d , %d] ",
computer_card[i][0], computer_card[i][1];
}
printf("\n");
printf("USER : ");
void judge()
{
int computer_sum(), user_sum=0;
int i;
for(i=0; i<3; i++) {
if(computer_card[i] [1] == NOT_USED)
break;
computer_sum += computer[i] [1];
for(i=0; i<3; i++) {
if(computer_card[i] [1] == NOT_USED)
break;
user_sum += computer[i] [1];
}
if(computer_sum > 21) && (user_sum >21)) {
if(computer_sum < user_sum)
printf(" 게임에서 졌습니다. \n");
else
printf(" 게임에서 이겼습니다. \n");
}
else if(computer_sum > 21)
printf(" 게임에서 이겼습니다. \n");
else if(user_sum >21)
printf(" 게임에서 졌습니다. \n");
else if((computer_sum == 21) && (user_sum == 21))
printf(" 비겼습니다. \n");
else if (computer_sum > user_sum)
printf(" 게임에서 졌습니다. \n");
else
printf(" 게임에서 이겼습니다. \n");
}
void main()
{
char answer;
printf("------------- START the GAME -------------\n");
shuffle();
getcard(computer, 0);
getcard(user, 0);
getcard(user, 1);
showcard();
printf("카드를 한 장 더 받겠습니까? (y/n)");
fflush(stdin);
scanf("%c", &answer);
if((answer=='y') || (answer=='y'))
getcard(user, 2);
getcard(computer, 1);
if(computer_card[0] [1] + computer_card[1] [1]) < 17)
getcard(computer, 2);
showcard();
judge();
printf("------------- GAME OVER -------------\n");
}
'프로그래밍' 카테고리의 다른 글
파일 입출력3 (0) | 2009.12.09 |
---|---|
파일입출력2 (0) | 2009.12.04 |
파일입출력 (1) | 2009.11.30 |
달력 만들기 (0) | 2009.11.24 |
자판기 프로그램 (0) | 2009.11.10 |
운영체제 도서관리 프로그램 (0) | 2009.10.18 |
운영체제 파일입출력2 (0) | 2009.10.17 |
운영체제 파일입출력 (0) | 2009.10.17 |
운영체제 자판기 프로그램 (1) | 2009.10.17 |
운영체제 버블소트 (0) | 2009.10.17 |