기타 강좌

소코반 리팩토링 푸쉬푸쉬
소코반이나 푸쉬푸쉬나 이름만 다르지 같은 게임이에요
여튼 저번 소코반 만들다 꼬여서 리팩토링 하면서 이름을 푸쉬푸쉬로 바꿧습니다.
(굳이 한글을 txt에써넣고읽고하려고해서 문제가생긴듯;;)
리팩토링은 우선 최대한 간단하고 쉽게 만들자! 라는 철학?으로 했사옵니다.

구조는
다음과 같사옵니다

//필요한 헤더파일 #include하고
#include <stdio.h>
#include <Windows.h>
#include "data structure.h"//#define이나 구조체 선언을 적어둔 파일을 include 그런데 이번 버전에는 구조체는 없고 define만있습니당
#include "func.h"//define이나 구조체를 사용하는 함수를 적은 파일을 include

int main()//프로그램이 시작되는 부분
{
int map[25][45];//파일에 쓸때에는 가로 39, 세로 19까지만 적도록 한게 규칙이지만 6씩 더 추가한 이유는 배열에는 숫자 뿐만아니라 한줄의끝과 배열의 끝을 나타낼 공간이 더 필요해서에요 그러면 5가 남는게 그건 뭐냐고요? 그냥 넉넉히 적다보니 그렇게되었네요;; 굳이 5를 더 더할필요는 없었사옵니다.
FileToArray("map.txt",map);//현재폴더에 있는 map.txt를 읽어서 map 배열에 저장하는 함수입니당 여기서 map은 배열을 통쨰로 복사해서 함수에 전달하는게 아니라 메모리에 위치한 주소만 넘겨주므로 함수안에서 map을 고치면 함수밖의map도 같이고쳐집니당
while(1)//무한루프입니당 while()안에 0이 아닌값이들어가면 무조건 break나 return이i 나올때까지 돕니다
{
if(clear(map))//map을 넘겨줘서 승리조건에 도달했는지 검사합니다. 도달했으면 1이 리턴될것이고 그러면 if()안의 값이 0이 아니므로 안의 내용이 실행되겠죠
{
printf("성공");//우선 최대한 간단하게 성공이라고만 표시햇습니다
getchar();//버튼이 눌릴때까지 대기해야지 성공이라는 메시지를 좀 오래 볼수있겠져?
}
ArrayToScreen(map);//map배열에있는 내용을 화면에 출력합니다.
input(map);//입력을 받아서 map안에있는 주인공 위치와 돌위치를 고칩니다
Sleep(100);//이게없으면 입력이 너무 빨리 반응해서 조종하기가 어려우므로 넣었사옵니다.
}
return 0;//운영체제가 프로그램이 어떻게 끝났는지 참고 하는 값을 리턴하는데 보통 그냥 관례상 이렇게 넣사옵니다.
}

Who's 정체불명

profile

두팔과 의지가 있는데 무엇을 못 하겠는가!

< http://mpnp.tistory.com >


List of Articles
분류 제목 글쓴이 날짜 조회 수
Vegas Pro 베가스 강좌 목록 아방스 2017.09.28 886
파이널컷X 파컷 강좌 목록 아방스 2017.06.18 757
C언어 파일읽어서 배열에 넣고 다시배열에서 읽어서 화면에 출력 정체불명 2012.01.21 2701
C언어 소코반(푸쉬푸쉬) 구조 정체불명 2012.01.21 2859
기타 [libGDX] libGDX 시작하기 3 에돌이 2012.01.21 4042
C언어 소코반 리팩토링 푸쉬푸쉬 file 정체불명 2012.01.25 2573
시네마4D Cinema 4D r13 Tutorial: Particles Transition to Text - PolyFX 아방스 2012.01.25 5367
C언어 푸쉬푸쉬 data structure.h 의 내용 file 정체불명 2012.01.25 2596
C언어 푸쉬푸쉬 func.h파일 file 정체불명 2012.01.25 2868
C언어 func.h함수소개 정체불명 2012.01.25 2357
C언어 소코반 실행파일+소스+스크린샷 file 정체불명 2012.01.25 3520
기타 PHP 1강. 내가누구 2012.02.24 2036
기타 PHP 2강. 내가누구 2012.02.24 1993
플러그인 VC Reflect [반사되는 이미지 만드는 플러그인] 1 file 아방스 2012.03.28 7016
게임기획 프롤로그의 여러가지 작성 방법 2 아방스 2012.04.17 4135
기타 게임을 처음 제작하시는 초심자 분들께 7 TheEK 2012.07.03 2560
기타 XNA로 게임만들기 - 1. 인사겸 소개 3 file 재훈군 2012.08.03 3116
기타 XNA로 게임만들기 - 2. 강의에 앞서 C#의 문법 1 file 재훈군 2012.08.03 4213
기타 XNA로 게임만들기 - 3. 자신만의 라이브러리를 만들자. 7 file 재훈군 2012.08.03 3454
플래시 매우 쉽고 편리한 액션스크립트(추가중) 코르뉴 2012.08.06 2625
기타 VirtualDub, Avanti, AviSynth를 사용한 초보적인(?!) DVD -> 동영상 파일 변환법. Alkaid 2012.08.27 3480
기타 PCSX2 자체 캡처기능으로 캡처한 동영상 인코딩하기 file Alkaid 2012.09.09 3257
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Next
/ 19