![](http://ac.namu.la/20240401sac/b799d04d2922ba9bc040dd242e6552ef08f8c084e1820047054830428037bcbf.jpg?expires=1719795600&key=lk3MuS6ps91LUQeGQrFOqw)
오늘은 문제만 만들었는데 처음 강의에서 시연해주는 완성된 게임을 보고 강의 답 안보고 만들려니까
좀 힘들었습니다. 그래도 시행착오 격어서 이제는 처음 코드 짤 때 무작정 비쥬얼 스튜디오에 타자치면서 시작안하고
메모장에 이런 구성요소들이 필요하고, 이렇게 이렇게 짜야겠다고 미리 전체적으로 적으면서 생각하고 시작하니까
큰 문제는 없었습니다.
#include <stdio.h>
#include <time.h>
#include <windows.h>
int arr[6][5];
int realarr[6][5];
void showc();
int numofchar;
void realc();
void setarr();
int fnum = 1;
void shownum(num1, num2);
void checknum(num1, num2);
int main(void)
{
srand(time(NULL));
printf("정답을 3초간 보여준 후 게임이 시작됩니다.\n준비가 되셧으면 아무 키나 입력하세요.");
realc();
setarr();
int f;
scanf_s("%d", &f);
for (int a = 0; a < 6; a++)
{
for (int b = 0; b < 5; b++)
{
printf(" %3d ", realarr[a][b]);
}
printf("\n\n");
}
Sleep(3000);
system("cls");
while (1)
{
int num1 = 0;
int num2 = 0;
int num3 = 0;
int num4 = 0;
showc();
printf("\n숫자를 확인하려면 숫자를 입력하세요.\n숫자의 답은 3초간 보입니다!");
/*printf("\n첫번째 칸의 숫자를 입력하세요:");
scanf_s("%d", &num1);
printf("\n첫번째 칸의 두번째 숫자를 입력하세요:");
scanf_s("%d", &num2);
printf("\n두번째 칸의 첫 숫자를 입력하세요:");
scanf_s("%d", &num3);
printf("\n두번째 칸의 두번째 숫자를 입력하세요:");
scanf_s("%d", &num4);*/
/*printf("%d%d번의 숫자는:%d입니다.", num1, num2, realarr[num1][num2]);
printf("%d%d번의 숫자는:%d입니다.", num3, num4, realarr[num3][num4]);*/
printf("\n첫번째 숫자를 입력하세요:");
scanf_s("%d", &num1);
printf("\n두번째 숫자를 입력하세요:");
scanf_s("%d", &num2);
shownum(num1,num2);
checknum(num1, num2);
if (*(realarr+num1+num2) == *(realarr+num3+num4))
{
printf("두개의 숫자가 같습니다!");
arr[num1][num2] = realarr[num1][num2];
}
Sleep(3000);
system("cls");
}
return 0;
}
void shownum(num1, num2)
{
int d, e;
for (int a = 0; a < 6; a++)
{
for (int b = 0; b < 5; b++)
{
if (num1 == arr[a][b])
{
printf("첫번째 숫자는 %d 입니다.", realarr[a][b]);
}
if (num2 == arr[a][b])
{
printf("두번째 숫자는 %d 입니다.", realarr[a][b]);
}
}
}
}
void checknum(num1, num2)
{
int d, e;
for (int a = 0; a < 6; a++)
{
for (int b = 0; b < 5; b++)
{
if (num1 == realarr[a][b] && num2 == realarr[a][b])
{
printf("두 숫자가 같습니다!");
arr[a][b] = realarr[a][b];
//여기서부터 시작
//포문을 돌려서 두개의 숫자가 같으면
//위의 두개 문장수행
}
}
}
}
void setarr()
{
for (int a = 0; a < 6; a++)
{
for (int b = 0; b < 5; b++)
{
arr[a][b]= fnum++;
}
}
}
void showc()
{
for (int a = 0; a < 6; a++)
{
for (int b = 0; b < 5; b++)
{
if (arr[a][b] < 10)
{
printf(" %d번 ", arr[a][b]);
}
else
{
printf(" %d번 ", arr[a][b]);
}
}
printf("\n\n");
}
}
void realc()
{
for (int i = 1; i < 16; i++)
{
int a = rand() % 6;
int b = rand() % 5;
if (realarr[a][b] == 0)
{
realarr[a][b] = i;
}
else
{
i--;
}
}
for (int i = 1; i < 16; i++)
{
int a = rand() % 6;
int b = rand() % 5;
if (realarr[a][b] == 0)
{
realarr[a][b] = i;
}
else
{
i--;
}
}
}