phpWin - SFEditor - 세이브 파일 에디터 ## > phpWin

본문 바로가기
사이트 내 전체검색

phpWin

phpWin - SFEditor - 세이브 파일 에디터 ##

페이지 정보

작성자 BiHon 댓글 0건 조회 2,869회 작성일 07-09-10 22:29

본문

모처럼 마음에 드는 이름이다.
Saved File Editor의 약자 SFEditor.
공상 과학의 그 SF가 아니다. 흠흠.

1343645314000000_v798zqtgnaqvzjft4atnin6pl8add4wiw.jpg

[이미지 1] 끊임없이 컬러볼을 뱉어내는 개구리. 이번 예제의 희생양일까?

게임을 저장할 수 있으면 나중에 중간부터 이어할 수 있어 좋다.
또한... 저장된 세이브 파일의 수정으로 위와 같이 Lives 수정을 통해
한결 여유있는 플레이가 가능하기도 하다. (죽었네~ 다시 하지 뭐~)

SAVE 가능한 게임과 그렇지 않은 게임이 있다.
SAVE 파일의 형태는 다양하다.
주로 SAVE 파일에 수치값이 16진수로 거꾸로 저장된다.
(어디까지나 "주로"일 뿐이다.)

위에 990마리가 있는데 플레이중인 개구리까지 총 991마리가 있다.
991을 16진수로 하면 3DF가 나온다.
파일에는 DF 03 으로 저장된다.

1343645314005000_hfibw5ap8ice86skjfb4296n2c13dc2gg.gif

[이미지 2] 저 부분을 FF FF로 바꾸면 65,535 마리가 된다. +_+);

적당한 크기로 윈도우창을 생성,
마릿수 입력란과 변경 버튼을 두자.
기존의 save 파일을 읽어와 마릿수 부분에 넣어주고,
변경 버튼을 누르면 입력된 값을 파일에 기록해주면 된다.

세이브 파일의 읽고 쓰기가 가능해야 하니까
$fp = fopen('adv2.sav','rw'); 로 열면 된다.

이제 fseek($fp,위치);로 포인터를 이동시켜주고
fread($fp,2); 함수로 2바이트를 읽고, unpack() 함수를 이용해 숫자값을 구하면 된다.

저장도 마찬가지다. fseek($fp,위치);로 이동하고,
pack() 함수를 이용해 새로 기록할 데이터 생성 후
fwrite($fp,데이터,2) 함수로 기록해주면 된다.

끝나면 당연히 fclose($fp);

과정대로 응용 프로그램 만들어두면 두고두고 편하게 게임할 수 있다.
뭐... 치트키가 있으면 그걸 쓰던가,
GameWizard류의 프로그램으로 메모리 조작하는 방법도 있다. -0-);;;

================================================================================

폐쇄를 앞두고 있기 때문에 실제 실행 파일 및 소스 일체는 생략한다.

댓글목록

등록된 댓글이 없습니다.

회원로그인


Copyright © 1998~2019 DreamPHP.com All rights reserved.