C언어

같은 그림 찾기를 구현 1

by 정체불명 posted Jan 19, 2012
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
안녕하세요 정체불명입니다
오늘은 같은 그림 찾기를 구현해볼거에요
우선 기획이 다끝났으면 코드로 바꾸는건 어렵지 아니하여요.
쉬운거부터 시작해서 조금씩 복잡해지도록 만드는 방법으로 할 생각이니 
이번 처음에는 좀 허접해도 가능성을 봐주시면 좋겠네요

자그럼 구현을 시작해봅시다.
지난번 기획한것보다 더 쉽게 이해하도록 조금 더 쉽게 만들어보도록 할게요

자 그럼 시작!

/*필요한 헤더파일을 포함합니다*/
#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 게임끝체크(){}


이제 초기화함수의 {}괄호 안에다가 초기화 구현을,
출력함수의 {}괄호안에다가 출력 구현을... 이렇게 전부 다 하시면 됩니다.

자 이제 필요한 함수들을 구현하는것은 다음강좌에서~