카드게임

프로그래밍 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

설정

트랙백

댓글