기타 강좌

소코반 리팩토링 푸쉬푸쉬
소코반이나 푸쉬푸쉬나 이름만 다르지 같은 게임이에요
여튼 저번 소코반 만들다 꼬여서 리팩토링 하면서 이름을 푸쉬푸쉬로 바꿧습니다.
(굳이 한글을 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언어 [비쥬얼 C++ 동영상 강좌] 07회 GDI 를 배우자 - 1 아방스 2009.01.12 1710
기타 [RPGXP] 기술 데이터 읽기 실패 해결법 2 file 맵만드는중.. 2014.02.17 1717
C언어 정체불명의 프로그래밍 입문 main 함수작성 3 file 정체불명 2012.01.18 1721
기타 [루비] 프로그래밍 공부하는 법 1 자연철학의수학적원리 2013.10.25 1724
기타 [루비][네트워크] 다른 컴퓨터에서 명령어 받아서 실행후 결과 돌려주는 서버 자연철학의수학적원리 2013.10.25 1736
C언어 [C 언어 강의] 데이터 출력 함수 printf() file 마린레이 2011.10.12 1746
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - “Call To Action” Buttons file 아방스 2011.12.07 1750
기타 응용..에 관한 간단한 고찰.(??) 개촙포에버 2011.10.13 1770
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - 3D Buttons file 아방스 2011.12.07 1791
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - Check It Out Button file 아방스 2011.12.07 1815
C언어 [비쥬얼 C++ 동영상 강좌] 09회 화면을 마음대로 만들기 1 아방스 2009.01.12 1826
어도비 프리미어 [프리미어 프로] 영상 회전시키기 (거꾸로 촬영된경우) 아방스 2017.08.01 1835
C언어 [비쥬얼 C++ 동영상 강좌] 11회 Application Rc & 클래스 위자드 배우기 1 아방스 2009.01.12 1847
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - 36 Web Buttons Collection file 아방스 2011.12.07 1856
게임 업로드 방법 아방스 2009.01.06 1857
C언어 [ - Zennys -] C언어의 기초 ... 8 file - Zennys - 2009.06.08 1861
C언어 [ - Zennys - ] 제니스의 C언어 강좌 [printf함수] file -Zennys- 2009.06.13 1878
C언어 [비쥬얼 C++ 동영상 강좌] 12회 그림 텍스트 리스트 CListCtrl 클래스 아방스 2009.01.12 1883
시네마4D Navié Plants & Effex Krakatoa Edition v2.00.20 For Cinema 4D R14 – R15 – Win64 file 아방스 2013.09.24 1951
C언어 스릴 쇼크 서스펜스!!!!!!!! 정체불명 2009.05.01 1967
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Next
/ 19