C언어

c언어로 같은그림 찾기 만들기 -기획편

by 정체불명 posted Jan 18, 2012
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
c언어로 같은그림 찾기 만들기 -기획편
콘솔에서 한다고 겉모습에 실망하지마세요
그래픽 입히는건 별로 어렵지 않아요
가장 쉬운거부터 하라는 말이 있잖아요? 

이번 강좌는 여러편이에요 같은 그림찾기를 만들텐데요
무언가를 만들기 전에 우선 계획을 해야되요
제가 계획하는 방식을 적어보도록 할게요

1. 그냥 떠오르는걸 모두 적어본다.
2. 최대한 간단한 부분들로 나눈다.
3. 테스트 해보면서 하나씩 구현한다.
4. 모두 합친다.

자 그럼 제가 계획을 해보도록 하겠습니다.
메모장에다가 적기시작해보죠

계획은 출력과 자료구조와 함수를 구분하는게 중요해요

자 우선
게임 흐름
1.
int형 배열 가로 5 세로5 안에 카드(그림문자)를 
의미하는 숫자를 각각 2개씩 담는다. 배열1이라고 이름짓자.
(1은 ※ 2는 ★ 3은 ☆ ... 이런식으로)
2. 
또 다른 int형 배열 가로 5 세로5 안에 각 문자의 뒤집어짐 상태를 담는다. 
(0이면 뒷면 1이면 앞면) 배열2라고 이름짓자
3.
배열2를 가로로 하나하나 검사하면서 0이면 공백을 출력하고(공백 2칸이 한글같이 큰문자 한칸크기이므로 공백 2칸을 출력)
1이면 배열1을 참조해서 해당 카드그림을 출력
4. 
화살표로움직이고 스페이스바를 눌러서 카드선택
5.
카드를 2개 선택했으면 선택된 카드 2개가 같은지 확인후 같으면 앞면으로 만들고 틀리면 뒷면으로 만들기
6. 
배열2가 모두 1인지 확인해서 모두 1이면 이김 표시

게임 흐름은 대충이렇게 되었고
자료구조를 짜봅시다.
int 배열1[5][5];
int 배열2[5][5];
POINT 처음고른카드좌표;
POINT 두번째고른카드좌표;
POINT 현재선택중인카드좌표;

별로 안기네요 POINT 자료형은 int 두개가 모여서 만들어진 자료형입니다.
모르셨으면 만들어서 사용하셔도 되고요..
POINT xy; 처럼 일반 변수와 같은 방법으로 선언하고
xy.x=0;
xy.y=0;처럼 접근합니다.

자 이제 함수차례네요
초기화() 함수
배열1과 배열2에 적당한 값을 섞어서 넣어주는 함수
출력()함수
배열2를 참조해서 1이면 해당 좌표의 배열1의 값을 그림문자로 출력
입력()함수
유저로부터 키입력을 받아서 좌표를 선택
카드두개검사()함수
좌표 두개를 받아서 해당 좌표의 카드 2개가 같은 카드라면 1아니면 0리턴
게임끝체크()함수
배열2를 참조해서 모두 1이면 엔딩을 보여줌