첫 프로젝트
- 나의 첫 프로젝트이다.
- 제목은 Memory Battle
- 더 지니어스 블랙 가넷, 더 지니어스 그랜드파이널에서 나온 [같은 숫자 찾기] 게임이다.
- c언어로 개발하는 환경에 맞추어 조금의 룰들을 바꾸어 만들었다.
상세 코드
#include
#include
#include
#include
#include
#include
void menu(void);
void defalut(void);
void instruction(void);
void draw_board_front(void);
void draw_board_back(void);
void multi_draw_board_front(void);
void escape(void);
void multi_draw_board_back(void);
int is_correct(int, char *); /*입력받은 문자열이 정답인지 확인하는 함수*/
void endgame(char *, int);
void multi_endgame(int);
typedef struct user {
char name[10];
int time;
}USERUSER;
int correct = 0, wrong = 0;
int user1_correct = 0;
int user2_correct = 0;
int user1_wrong = 0;
int user2_wrong = 0;
double count = 0;
int main()
{
srand((unsigned)time(NULL));
clock_t start, end;
start = clock();
int target_list[38] = { 2,3,4,5,6,7,8,9,10,11,12,13,14,22,23,24,27,28,30,35,40,44,50,54,55,56,60,65,66,72,77,88,91,108,112,120,130,140 };
int select, button, target;
char s[5];
char s1[5], s2[5];
USERUSER a;
char buzzer;
while (1)
{
menu();
scanf("%d", &select);
switch (select)
{
case 1:
system("cls");
printf("\n\n\n\t\t\t\t\t\t다짐 한마디! : ");
getchar();
fgets(a.name, 20, stdin);
system("cls");
for (int k = 1; k >= 0; k--)
{
draw_board_back();
printf("\t\t\t\t\t\t10초 후 게임이 시작 됩니다 %d...\n", k);
Sleep(1000);
}
while (1)
{
target = target_list[rand() % 38];
draw_board_front();
printf("\n");
printf("점수 : \t%d\t\t\t\t\t\t타깃 넘버 : %d\n", correct, target);
printf("오답 갯수 : %d\t\t\t\t\t (정답(xyz) : ", wrong);
gets(s);
for (int i = 0; i < 3; i++)
{
s[i] = tolower(s[i]);
}
if (is_correct(target, s) == 1)
{
correct++;
if (correct == 5)
break;
for (int k = 3; k >= 1; k--)
{
draw_board_back();
printf("\n\n\n\n\n\t\t\t\t\t\t\t 정답입니다!!\n\t\t\t\t\t\t %d초동안 게임판이 공개됩니다\n", k);
Sleep(1000);
}
}
else if (is_correct(target, s) == 0)
{
wrong++;
for (int k = 3; k >= 1; k--)
{
draw_board_back();
printf("\n\n\n\n\n\t\t\t\t\t\t 오답입니다!!\n\t\t\t\t\t\t%d초동안 게임판이 공개됩니다\n", k);
Sleep(1000);
}
}
}
end = clock();
count = (end - start) / (double)CLOCKS_PER_SEC;
endgame(a.name, (int)count);
button = getchar();
Sleep(button * 1);
break;
count = 0;
correct = 0;
wrong = 0;
case 2:
system("cls");
for (int k = 1; k >= 0; k--)
{
multi_draw_board_back();
printf("\t\t\t\t\t10초 후 게임이 시작 됩니다 %d...\n", k);
Sleep(1000);
}
while (1)
{
target = target_list[rand() % 38];
multi_draw_board_front();
printf("\n");
printf("\n");
printf("1p 버저 : 'a'\t\t\t\t\t\t\t\t\t2p 버저 : '/'\n");
printf("1p점수 : %d\t\t\t\t\t\t\t\t\t2p점수 : %d\n", user1_correct, user2_correct);
printf("1p오답 : %d\t\t\t\t\t\t\t\t\t2p오답 : %d\n", user1_wrong, user2_wrong);
printf("\t\t\t\t\t타깃넘버 : %d\t\t\t\t", target);
buzzer = getchar();
if (buzzer == 'a')
{
getchar();
printf("\t\t\t\t\tPlayer 1\n");
printf("\t\t\t\t\t정답(xyz) : ");
gets(s1);
for (int i = 0; i < 3; i++)
{
s1[i] = tolower(s1[i]);
}
if (is_correct(target, s1) == 1)
{
user1_correct++;
for (int k = 3; k >= 1; k--)
{
multi_draw_board_back();
printf("\n\n\n\n\n\t\t\t\t\t\t\tP1 정답입니다!!\n\t\t\t\t\t\t %d초동안 게임판이 공개됩니다\n", k);
Sleep(1000);
}
}
else
{
user1_wrong++;
for (int k = 3; k >= 1; k--)
{
multi_draw_board_back();
printf("\n\n\n\n\n\t\t\t\t\t\tP1 오답입니다!!\n\t\t\t\t\t\t%d초동안 게임판이 공개됩니다\n", k);
Sleep(1000);
}
}
}
else if (buzzer == '/')
{
getchar();
printf("\t\t\t\t\tPlayer 2\n");
printf("\t\t\t\t\t정답(xyz) : ");
gets(s2);
for (int i = 0; i < 3; i++)
{
s2[i] = tolower(s2[i]);
}
if (is_correct(target, s2) == 1)
{
user2_correct++;
for (int k = 3; k >= 1; k--)
{
multi_draw_board_back();
printf("\n\n\n\n\n\t\t\t\t\t\t\tP2 정답입니다!!\n\t\t\t\t\t\t %d초동안 게임판이 공개됩니다\n", k);
Sleep(1000);
}
}
else
{
user2_wrong++;
for (int k = 3; k >= 1; k--)
{
multi_draw_board_back();
printf("\n\n\n\n\n\t\t\t\t\t\tP2 오답입니다!!\n\t\t\t\t\t\t%d초동안 게임판이 공개됩니다\n", k);
Sleep(1000);
}
}
}
if (user1_correct == 3)
{
multi_endgame(1);
break;
}
else if (user2_correct == 3)
{
multi_endgame(2);
break;
}
}
user1_correct = 0;
user2_correct = 0;
user1_wrong = 0;
user2_wrong = 0;
button = getchar();
Sleep(button * 1);
break;
case 3:
getchar();
instruction();
button = getchar();
Sleep(button * 1);
break;
case 4:
getchar();
escape();
button = getchar();
Sleep(button * 1);
break;
default:
getchar();
getchar();
defalut();
button = getchar();
Sleep(button * 1);
break;
}
if (select == 4)
break;
}
}
void menu(void)
{
system("cls");
printf("=======================================================================================================================\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t Memory Battle \t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t1. Single play \t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t2. Multi play \t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t3. Instruction \t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t4. Exit \t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t 제작자 : 리기찬I\n");
printf("=======================================================================================================================\n\n\n");
printf("\n");
printf("\t\t\t\t\t 메뉴를 고르세요 : ");
}
void escape(void)
{
system("cls");
printf("=======================================================================================================================\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t게임을 종료합니다.. \t \t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t다음에 또 봐요! \t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("=======================================================================================================================\n\n\n");
printf("\n");
printf("\t\t\t\t\t\tpress enter... ");
}
void defalut(void)
{
system("cls");
printf("=======================================================================================================================\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t올바른 숫자값을 입력하세요 !! \t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("=======================================================================================================================\n\n\n");
printf("\n");
printf("\t\t\t\t\t\tpress enter... ");
}
void instruction(void)
{
system("cls");
printf("=======================================================================================================================\n");
printf("I\t\t\t\t\t\t \t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I1. 16개의 알파벳이 쓰인 게임 판의 뒷면엔 1~12까지의 숫자와 연산기호(+,*)가 표시되어 있다. \t\t\t\tI\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I2. 게임 시작전 5초 동안 게임 판의 뒷면이 단 한 번 공개된다. \t\t\t\t\t\t\tI\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I3. 게임이 시작되면 딜러는 매 라운드 '타깃넘버'를 무작위로 하나씩 뽑는다.\t\t\t\t\t\tI\n");
printf("I ('타깃넘버'는 게임 판의 숫자와 기호로 나올 수 있는 경우의 자연수이다.)\t\t\t\t\t\tI\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I4. 타깃 넘버가 공개되면 먼저 버저를 누른 플레이어에게 5초동안의 수식 완성 기회가 주어진다.\t\t\t\tI\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I5. 답을 말할 때는 수식의 순서인 숫자, 연산기호, 숫자에 맞춰 차례로 게임 판의 알파벳을 호명해야 한다.\t\t\tI\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I(승리조건). 싱글플레이 = 5점 획득 멀티플레이 = 3점 획득\t\t\t\t\t\t\t\tI\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("=======================================================================================================================\n\n\n");
printf("\n");
printf("\t\t\t\t\t\tpress enter... ");
}
void draw_board_front(void)
{
system("cls");
printf("\t\t\t\t\t\t■■■■■■■■■■■■■■■■■\n");
printf("\t\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t\t■ %c ■ %c ■ %c ■ %c ■\n", 'A', 'B', 'C', 'D');
printf("\t\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t\t■■■■■■■■■■■■■■■■■\n");
printf("\t\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t\t■ %c ■ %c ■ %c ■ %c ■\n", 'E', 'F', 'G', 'H');
printf("\t\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t\t■■■■■■■■■■■■■■■■■\n");
printf("\t\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t\t■ %c ■ %c ■ %c ■ %c ■\n", 'I', 'J', 'K', 'L');
printf("\t\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t\t■■■■■■■■■■■■■■■■■\n");
printf("\t\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t\t■ %c ■ %c ■ %c ■ %c ■\n", 'M', 'N', 'O', 'P');
printf("\t\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t\t■■■■■■■■■■■■■■■■■\n");
}
void multi_draw_board_front(void)
{
system("cls");
printf("\t\t\t\t\t■■■■■■■■■■■■■■■■■\n");
printf("\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t■ %c ■ %c ■ %c ■ %c ■\n", 'A', 'B', 'C', 'D');
printf("\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t■■■■■■■■■■■■■■■■■\n");
printf("\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t■ %c ■ %c ■ %c ■ %c ■\n", 'E', 'F', 'G', 'H');
printf("\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t■■■■■■■■■■■■■■■■■\n");
printf("\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t■ %c ■ %c ■ %c ■ %c ■\n", 'I', 'J', 'K', 'L');
printf("\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t■■■■■■■■■■■■■■■■■\n");
printf("\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t■ %c ■ %c ■ %c ■ %c ■\n", 'M', 'N', 'O', 'P');
printf("\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t■■■■■■■■■■■■■■■■■\n");
}
void draw_board_back(void)
{
system("cls");
printf("\t\t\t\t\t\t■■■■■■■■■■■■■■■■■\n");
printf("\t\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t\t■ %c ■ %c ■ %s ■ %c ■\n", '7', '3', "10", '5');
printf("\t\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t\t■■■■■■■■■■■■■■■■■\n");
printf("\t\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t\t■ %s ■ %s ■ %c ■ %c ■\n", "13", "11", '+', '2');
printf("\t\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t\t■■■■■■■■■■■■■■■■■\n");
printf("\t\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t\t■ %c ■ %c ■ %c ■ %c ■\n", '1', '6', '8', 'x');
printf("\t\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t\t■■■■■■■■■■■■■■■■■\n");
printf("\t\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t\t■ %c ■ %s ■ %s ■ %c ■\n", '9', "14", "12", '4');
printf("\t\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t\t■■■■■■■■■■■■■■■■■\n");
}
void multi_draw_board_back(void)
{
system("cls");
printf("\t\t\t\t\t■■■■■■■■■■■■■■■■■\n");
printf("\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t■ %c ■ %c ■ %s ■ %c ■\n", '7', '3', "10", '5');
printf("\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t■■■■■■■■■■■■■■■■■\n");
printf("\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t■ %s ■ %s ■ %c ■ %c ■\n", "13", "11", '+', '2');
printf("\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t■■■■■■■■■■■■■■■■■\n");
printf("\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t■ %c ■ %c ■ %c ■ %c ■\n", '1', '6', '8', 'x');
printf("\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t■■■■■■■■■■■■■■■■■\n");
printf("\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t■ %c ■ %s ■ %s ■ %c ■\n", '9', "14", "12", '4');
printf("\t\t\t\t\t■\t■\t■\t■\t■\n");
printf("\t\t\t\t\t■■■■■■■■■■■■■■■■■\n");
}
int is_correct(int target, char *s)
{
switch (target)
{
case 2:
if ((strcmp(s, "hli") == 0) || (strcmp(s, "lih") == 0))
return 1;
else
return 0;
break;
case 3:
if ((strcmp(s, "bli") == 0) || (strcmp(s, "lib") == 0) || (strcmp(s, "igh") == 0) || (strcmp(s, "hgi") == 0))
return 1;
else
return 0;
break;
case 4:
if ((strcmp(s, "pli")) == 0 || (strcmp(s, "lip") == 0) || (strcmp(s, "igb") == 0) || (strcmp(s, "bgi") == 0))
return 1;
else
return 0;
break;
case 5:
if ((strcmp(s, "dli") == 0) || (strcmp(s, "lid") == 0) || (strcmp(s, "igp") == 0) || (strcmp(s, "pgi") == 0) || (strcmp(s, "bgh") == 0) || (strcmp(s, "hgb") == 0))
return 1;
else
return 0;
break;
case 6:
if ((strcmp(s, "igd") == 0) || (strcmp(s, "gdi") == 0) || (strcmp(s, "hgp") == 0) || (strcmp(s, "pgh") == 0) || (strcmp(s, "ilj") == 0) || (strcmp(s, "jli") == 0) || (strcmp(s, "hlb") == 0) || (strcmp(s, "blh") == 0))
return 1;
else
return 0;
break;
case 7:
if ((strcmp(s, "igj") == 0) || (strcmp(s, "jgi") == 0) || (strcmp(s, "hgd") == 0) || (strcmp(s, "dgh") == 0) || (strcmp(s, "bgp") == 0) || (strcmp(s, "pgb") == 0) || (strcmp(s, "ila") == 0) || (strcmp(s, "ali") == 0))
return 1;
else
return 0;
break;
case 8:
if ((strcmp(s, "iga") == 0) || (strcmp(s, "agi") == 0) || (strcmp(s, "hgj") == 0) || (strcmp(s, "hgj") == 0) || (strcmp(s, "jgh") == 0) || (strcmp(s, "jli")) == 0 || (strcmp(s, "bgd") == 0) || (strcmp(s, "dgb") == 0))
return 1;
else
return 0;
break;
case 9:
if ((strcmp(s, "igk") == 0) || (strcmp(s, "kgi") == 0) || (strcmp(s, "hga") == 0) || (strcmp(s, "agh") == 0) || (strcmp(s, "bgj") == 0) || (strcmp(s, "jgb") == 0) || (strcmp(s, "pgd") == 0) || (strcmp(s, "dgp") == 0) || (strcmp(s, "ilm") == 0) || (strcmp(s, "mli") == 0))
return 1;
else
return 0;
break;
case 10:
if ((strcmp(s, "igm") == 0) || (strcmp(s, "mgi") == 0) || (strcmp(s, "hgk") == 0) || (strcmp(s, "kgh") == 0) || (strcmp(s, "bga") == 0) || (strcmp(s, "agb") == 0) || (strcmp(s, "pgj") == 0) || (strcmp(s, "jgp") == 0) || (strcmp(s, "ilc") == 0) || (strcmp(s, "cli") == 0) || (strcmp(s, "hld") == 0) || (strcmp(s, "dlh")) == 0)
return 1;
else
return 0;
break;
case 11:
if ((strcmp(s, "igc") == 0) || (strcmp(s, "cgi") == 0) || (strcmp(s, "hgm") == 0) || (strcmp(s, "mgh") == 0) || (strcmp(s, "bgk") == 0) || (strcmp(s, "kgb") == 0) || (strcmp(s, "pga") == 0) || (strcmp(s, "agp") == 0) || (strcmp(s, "dgj") == 0) || (strcmp(s, "jgd") == 0) || (strcmp(s, "ilf") == 0) || (strcmp(s, "fli")) == 0)
return 1;
else
return 0;
break;
case 12:
if ((strcmp(s, "igf") == 0) || (strcmp(s, "fgi") == 0) || (strcmp(s, "hgc") == 0) || (strcmp(s, "cgh") == 0) || (strcmp(s, "bgm") == 0) || (strcmp(s, "mgb") == 0) || (strcmp(s, "pgk") == 0) || (strcmp(s, "kgp") == 0) || (strcmp(s, "dga") == 0) || (strcmp(s, "agd") == 0) || (strcmp(s, "ilo") == 0) || (strcmp(s, "oli") == 0) || strcmp(s, "hlj") == 0 || (strcmp(s, "jlh") == 0) || (strcmp(s, "blp") == 0) || (strcmp(s, "plb") == 0))
return 1;
else
return 0;
break;
case 13:
if ((strcmp(s, "igo") == 0) || (strcmp(s, "ogi") == 0) || (strcmp(s, "hgf") == 0) || (strcmp(s, "fgh") == 0) || (strcmp(s, "bgc") == 0) || (strcmp(s, "cgb") == 0) || (strcmp(s, "pgm") == 0) || (strcmp(s, "mgp") == 0) || (strcmp(s, "dgk") == 0) || (strcmp(s, "kgd") == 0) || (strcmp(s, "jga") == 0) || (strcmp(s, "agj") == 0) || (strcmp(s, "ile") == 0) || (strcmp(s, "eli") == 0))
return 1;
else
return 0;
break;
case 14:
if ((strcmp(s, "ige") == 0) || (strcmp(s, "egi") == 0) || (strcmp(s, "hgo") == 0) || (strcmp(s, "ogh") == 0) || (strcmp(s, "bgf") == 0) || (strcmp(s, "fgb") == 0) || (strcmp(s, "pgc") == 0) || (strcmp(s, "cgp") == 0) || (strcmp(s, "dgm") == 0) || (strcmp(s, "mgd") == 0) || (strcmp(s, "jgk") == 0) || (strcmp(s, "kgj") == 0) || (strcmp(s, "iln") == 0) || (strcmp(s, "nli") == 0) || (strcmp(s, "hla") == 0) || (strcmp(s, "alh") == 0))
return 1;
else
return 0;
break;
case 22:
if ((strcmp(s, "kgn") == 0) || (strcmp(s, "ngk") == 0) || (strcmp(s, "mge") == 0) || (strcmp(s, "egm") == 0) || (strcmp(s, "cgo") == 0) || (strcmp(s, "ogc") == 0) || (strcmp(s, "hlf") == 0) || (strcmp(s, "flh") == 0))
return 1;
else
return 0;
break;
case 23:
if ((strcmp(s, "mgn") == 0) || (strcmp(s, "ngm") == 0) || (strcmp(s, "cge") == 0) || (strcmp(s, "egc") == 0) || (strcmp(s, "fgo") == 0) || (strcmp(s, "ogf") == 0))
return 1;
else
return 0;
break;
case 24:
if ((strcmp(s, "cgn") == 0) || (strcmp(s, "ngc") == 0) || (strcmp(s, "fge") == 0) || (strcmp(s, "egf") == 0) || (strcmp(s, "hlo") == 0) || (strcmp(s, "olh") == 0) || (strcmp(s, "plj") == 0) || (strcmp(s, "jlp") == 0) || (strcmp(s, "blk") == 0) || (strcmp(s, "klb") == 0))
return 1;
else
return 0;
break;
case 27:
if ((strcmp(s, "egn") == 0) || (strcmp(s, "nge") == 0) || (strcmp(s, "blm") == 0) || (strcmp(s, "mlb") == 0))
return 1;
else
return 0;
break;
case 28:
if ((strcmp(s, "hln") == 0) || (strcmp(s, "nlh") == 0) || (strcmp(s, "pla") == 0) || (strcmp(s, "alp") == 0))
return 1;
else
return 0;
break;
case 30:
if ((strcmp(s, "blc") == 0) || (strcmp(s, "clb") == 0) || (strcmp(s, "dlj") == 0) || (strcmp(s, "jld") == 0))
return 1;
else
return 0;
break;
case 35:
if ((strcmp(s, "dla") == 0) || (strcmp(s, "ald") == 0))
return 1;
else
return 0;
break;
case 40:
if ((strcmp(s, "plc") == 0) || (strcmp(s, "clp") == 0) || (strcmp(s, "dlk") == 0) || (strcmp(s, "kld") == 0))
return 1;
else
return 0;
break;
case 44:
if ((strcmp(s, "plf") == 0) || (strcmp(s, "flp") == 0))
return 1;
else
return 0;
break;
case 50:
if ((strcmp(s, "dlc") == 0) || (strcmp(s, "cld") == 0))
return 1;
else
return 0;
break;
case 54:
if ((strcmp(s, "jlm") == 0) || (strcmp(s, "mlj") == 0))
return 1;
else
return 0;
break;
case 55:
if ((strcmp(s, "dlf") == 0) || (strcmp(s, "fld") == 0))
return 1;
else
return 0;
break;
case 56:
if ((strcmp(s, "alk") == 0) || (strcmp(s, "kla") == 0))
return 1;
else
return 0;
break;
case 60:
if ((strcmp(s, "jlc") == 0) || (strcmp(s, "clj") == 0) || (strcmp(s, "dlo") == 0) || (strcmp(s, "old") == 0))
return 1;
else
return 0;
break;
case 65:
if ((strcmp(s, "dle") == 0) || (strcmp(s, "eld") == 0))
return 1;
else
return 0;
break;
case 66:
if ((strcmp(s, "jlf") == 0) || (strcmp(s, "flj") == 0))
return 1;
else
return 0;
break;
case 72:
if ((strcmp(s, "jlo") == 0) || (strcmp(s, "olj") == 0) || (strcmp(s, "klm") == 0) || (strcmp(s, "mlk") == 0))
return 1;
else
return 0;
break;
case 77:
if ((strcmp(s, "alf") == 0) || (strcmp(s, "fla") == 0))
return 1;
else
return 0;
break;
case 88:
if ((strcmp(s, "klf") == 0) || (strcmp(s, "flk") == 0))
return 1;
else
return 0;
break;
case 91:
if ((strcmp(s, "ale") == 0) || (strcmp(s, "ela") == 0))
return 1;
else
return 0;
break;
case 108:
if ((strcmp(s, "mlo") == 0) || (strcmp(s, "olm") == 0))
return 1;
else
return 0;
break;
case 112:
if ((strcmp(s, "kln") == 0) || (strcmp(s, "nlk") == 0))
return 1;
else
return 0;
break;
case 120:
if ((strcmp(s, "clo") == 0) || (strcmp(s, "olc") == 0))
return 1;
else
return 0;
break;
case 130:
if ((strcmp(s, "cle") == 0) || (strcmp(s, "elc") == 0))
return 1;
else
return 0;
break;
case 140:
if ((strcmp(s, "cln") == 0) || (strcmp(s, "nlc") == 0))
return 1;
else
return 0;
break;
}
}
void multi_endgame(int userid)
{
system("cls");
printf("=======================================================================================================================\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\tplayer %d win!! \t\t\t\t\t\t I\n", userid);
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("=======================================================================================================================\n\n\n");
printf("\t\t\t\t\t\tpress enter... ");
}
void endgame(char *winner, int score)
{
getchar();
system("cls");
printf("=======================================================================================================================\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\tWin!! %d초\t\t\t\t\t\t\t\tI\n", score);
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("I\t\t\t\t\t\t\t\t\t\t\t\t\t\t I\n");
printf("=======================================================================================================================\n\n\n");
printf("\t\t\t\t\t\tpress enter... ");
}
/*제작일 : 2019/06/15 ~ 2019/06/16
이기찬 */
- 첫 프로젝트이고 혼자하는 만큼 정말 힘들었다.
- 특히 파일 입출력을 도입할려 했지만 실패하였다.
- 스스로 많이 배우는 계기가 되었다.