안녕하세요 정체불명입니다
오늘은 같은 그림 찾기를 구현해볼거에요
우선 기획이 다끝났으면 코드로 바꾸는건 어렵지 아니하여요.
쉬운거부터 시작해서 조금씩 복잡해지도록 만드는 방법으로 할 생각이니
이번 처음에는 좀 허접해도 가능성을 봐주시면 좋겠네요
자그럼 구현을 시작해봅시다.
지난번 기획한것보다 더 쉽게 이해하도록 조금 더 쉽게 만들어보도록 할게요
자 그럼 시작!
/*필요한 헤더파일을 포함합니다*/
#include <stdio.h>/*나중에 더 필요하면 그때 추가해도되요*/
#include <Windows.h>/*W는 대문자입니다*/
/*전역변수를 선언합니다.*/
int 카드판[10][10];
int 카드상태[10][10];
POINT 첫번째선택;
POINT 두번째선택;
main함수를 작성합니다
int main()
{
return 0;
}
main함수안에서 아직 만들지도 않은 함수를 가지고 구조를 짜보면서
어떤 함수는 어떤 역할을 할지 주석을 달아봅니다.
int main()
{
초기화();/*카드판을 랜덤으로 세팅하고 카드상태를 모두 뒷면으로*/
while(1)
{
출력();/*카드상태에 따라서 해당 카드를 출력*/
첫번째입력();/*입력받아서 적절한 좌표인지 검사후 첫번째선택 변수에 저장 해당 좌표의 카드는 임시앞면 상태로 만들기*/
출력();
두번째입력();/*입력받아서 적절한 좌표인지 검사후 (좌표가 카드판의외부인지 첫번째선택과 곂치는지)두번째선택 변수에 저장 해당 좌표의 카드는 임시 앞면 상태로 만들기*/
출력();
Sleep(500);/*0.5초동안 멈춰있기*/
둘다맞나체크();/*첫번째입력과 두번째입력의 좌표에 있는 숫자가 같으면 카드 두개 상태를 앞면으로 바꾸기 아닐경우 둘다 뒷면으로 바꾸기*/
출력();
게임끝체크();/*모든 카드의 상태가 앞면이라면 게임끝 엔딩호출*/
}
}
필요한 함수들과 하는 일을 이렇게 적은 후에
함수를 main함수 위에 선언합니다.
그리고아래에 구현할 준비를 합니다.
지금까지 작성한 파일의 내용은 다음과 같습니다
/*필요한 헤더파일을 포함합니다*/
#include <stdio.h>/*나중에 더 필요하면 그때 추가해도되요*/
#include <Windows.h>/*W는 대문자입니다*/
/*전역변수를 선언합니다.*/
int 카드판[10][10];
int 카드상태[10][10];
POINT 첫번째선택;
POINT 두번째선택;
void 초기화();
void 출력();
void 첫번째입력();
void 두번째입력();
void 둘다맞나체크();
void 게임끝체크();
int main()
{
초기화();/*카드판을 랜덤으로 세팅하고 카드상태를 모두 뒷면으로*/
while(1)
{
출력();/*카드상태에 따라서 해당 카드를 출력*/
첫번째입력();/*입력받아서 적절한 좌표인지 검사후 첫번째선택 변수에 저장 해당 좌표의 카드는 임시앞면 상태로 만들기*/
출력();
두번째입력();/*입력받아서 적절한 좌표인지 검사후 (좌표가 카드판의외부인지 첫번째선택과 곂치는지)두번째선택 변수에 저장 해당 좌표의 카드는 임시 앞면 상태로 만들기*/
출력();
Sleep(500);/*0.5초동안 멈춰있기*/
둘다맞나체크();/*첫번째입력과 두번째입력의 좌표에 있는 숫자가 같으면 카드 두개 상태를 앞면으로 바꾸기 아닐경우 둘다 뒷면으로 바꾸기*/
출력();
게임끝체크();/*모든 카드의 상태가 앞면이라면 게임끝 엔딩호출*/
}
}
void 초기화(){}
void 출력(){}
void 첫번째입력(){}
void 두번째입력(){}
void 둘다맞나체크(){}
void 게임끝체크(){}
이제 초기화함수의 {}괄호 안에다가 초기화 구현을,
출력함수의 {}괄호안에다가 출력 구현을... 이렇게 전부 다 하시면 됩니다.
자 이제 필요한 함수들을 구현하는것은 다음강좌에서~