kyuseo의 게임 프로그래밍
안녕하세요 터보C ★★★★ 본문
개요.. |
제목 : 안녕하세요 터보C
저자 : 임채성
출판사 : 정보문화사
평가 : ★★★★
서평 |
1993년 대학을 입학하고 처음으로 컴퓨터 프로그래밍 C 언어를 공부할 때 보던 책입니다.
초심자를 위하여 재미난 삽화와 쉬운 코드, 깨끗한 편집으로 저에게 도움을 많이 주었고 추억이 깃들어 있는 서적으로 예제를 보면서 처음 "Hello World" 를 출력하는 "EXE" 파일과 "COM" 파일로 프로그램을 만든 경이로운 순간이 지금도 기억에 남습니다.
당시로서는 최고의 프로그래밍 개발 프로그램으로 볼랜드 사에서 출시한 "터보C (Turbo C) 와 "볼랜드C++ (Borland C++)" 를 이용하여 MS-DOS에서 프로그래밍을 하였고 제가 처음으로 인생게임을 만들게 해준 고마운 프로그램과 서적입니다.
현재 Turbo C 는 라이센스 프리로 공개되어 무료로 사용할 수 있습니다.
추억의 개발툴 터보씨의 스크린샷 |
터보씨의 모습
도스시절 아스키(ASCII) 코드도 많이 필요했지요 ^^
1993년 DOS 시절 작성하던 코드 : (한글은 조합형이라서 깨져서 나오네요 ^^)
#include <stdio.h> #include <conio.h> #include <dos.h> #include <string.h> #include "grp.hpp"
unsigned char far EF[44][8];
// 磎?웙랴닯뎠. // 래웥래댜톋죇ENG.FNT 웙랴톛. void ReadFont( char *name = "eng.fnt") { FILE *file; file = fopen( name, "rb" ); fread( EF, 352, 1, file ); fclose( file ); }
void EngFont( int x, int y, unsigned char *fnt,unsigned char color ) { unsigned char i, k; unsigned char data = 0x80;
for ( i = 0; i < 8; i++ ) for ( k = 0; k < 8; k++ ) if ( ( fnt[i] & data >> k ) != 0 ) pokeb( FP_SEG(page[PAGE]), ((y + i) * 320) + x + k, color ); }
// 탗쥌1 땓퇫웙(X,Y) 킕COLOR 쵀톋씉쿿. void EngPutch( int x, int y, char s, unsigned char color ) { if ( (s >= 65) && (s <= 90) ) EngFont( x, y, EF[s - 65], color); if ( (s >= 46) && (s <= 57) ) EngFont( x, y, EF[s - 20], color);
if ( s == 61 ) EngFont( x, y, EF[38], color); if ( s == 45 ) EngFont( x, y, EF[39], color); }
// 탗쥌땓퇫킿톓 (X,Y) 킕COLOR 쵀톋씉쿿. void EngPut( int x, int y, char *s, unsigned char color ) { unsigned char i, data;
for ( i = 0; i < strlen(s); i++ ) { data = *(s + i); EngPutch( x, y, data, color ); x += 8; } }
void main() { VirtualMode(); char *number; ReadFont(); EngPut( 140, 40, "STRIKE", 1 ); EngPut( 92, 60, "SPRITE NUMBER IS", 4 );
itoa(1245,number,10); // 츜퇫웙쥌퇫킿씉쩯錤. ?츃밻큖뻈. EngPut( 228, 60, number, 4 ); getch(); EndVirtual();
} |