목차 일부
소개 ... 13
제1부 C++ 프로그래밍
제1장 C++ 프로그래밍이 소개 ... 19
C++를 사용하는 이유 ... 20
Visual C++ 설정하기 ... 21
첫 번째 프로그램 : "Hello all you happy people" ... 26
C++ 프로그램의 구조 ... 29
주석 ... ...
더보기
목차 전체
소개 ... 13
제1부 C++ 프로그래밍
제1장 C++ 프로그래밍이 소개 ... 19
C++를 사용하는 이유 ... 20
Visual C++ 설정하기 ... 21
첫 번째 프로그램 : "Hello all you happy people" ... 26
C++ 프로그램의 구조 ... 29
주석 ... 33
오류 찾아내기 ... 34
경고 ... 37
정리 ... 38
질문과 답변 ... 39
연습 문제 ... 40
제2장 변수와 연산자 ... 43
변수와 메모리 ... 44
변수의 타입 ... 45
프로그램에서 변수의 사용 ... 48
변수의 식별자 ... 51
변수 이름 ... 54
타입의 재정의 ... 54
연산자 ... 55
비트 시프트 연산자 ... 60
관계 연산자 ... 61
조건 연산자 ... 61
논리 연산자 ... 63
연산자 우선순위 ... 64
요약 ... 66
질문과 답변 ... 66
연습 문제 ... 67
제3장 함수와 프로그램의 흐름 ... 69
함수의 정의와 사용 방법 ... 70
함수의 생성과 사용 ... 72
디폴트 파라미터 ... 76
변수의 범위 ... 78
재귀 호출 ... 82
함수를 사용할 때의 주의사항 ... 84
프로그램의 흐름 ... 85
코드 블록과 문장 ... 85
if, else if, else 문 ... 86
while, do…while 그리고 for 루프 ... 89
break와 continue ... 94
switch 문 ... 96
난수 ... 99
첫 번째 게임 : "크랩(Crap)" ... 102
요약 ... 111
질문과 답변 ... 111
연습 문제 ... 112
제4장 다중 파일과 전처리기 ... 113
소스와 헤더파일의 차이 ... 114
전처리기 ... 117
다중 include 피하기 ... 120
매크로 ... 122
다른 전처리기 지시어 ... 124
요약 ... 125
연습 문제 ... 125
제5장 배열, 포인터 그리고 문자열 ... 127
배열 ... 128
배열의 선언과 사용 ... 128
다차원 배열 ... 132
포인터 ... 136
포인터와 변수 ... 136
포인터와 배열 ... 139
메모리에 포인터 선언과 할당 ... 142
포인터 연산자 ... 145
메모리 관리 ... 149
문자열 ... 150
요약 ... 170
질문과 답변 ... 171
연습 문제 ... 171
제6장 클래스 ... 173
클래스 ... 174
클래스의 생성 ... 175
클래스의 사용 ... 178
멤버의 접근 제한자들 ... 178
생성자와 소멸자 ... 181
연산자 오버로딩 ... 185
문자열 클래스 ... 186
상속성과 다형성의 기본 개념 ... 192
열거형 ... 202
유니온 ... 203
정적 멤버 ... 205
클래스를 사용할 때 유용한 기술 ... 206
요약 ... 215
질문과 답변 ... 215
연습 문제 ... 215
제7장 몬스터 만들기 ... 217
ConLlb ... 218
몬스터의 생성 ... 234
요약 ... 263
제8장 스트림 ... 265
스트림 ... 266
바이너리 스트림과 텍스트 스트림 ... 266
입력과 출력 ... 267
파일 스트림 ... 273
게임 로드와 저장 기능을 추가한 몬스터 게임의 수정 ... 290
요약 ... 297
질문과 답변 ... 297
연습 문제 ... 298
제9장 기본적인 소프트웨어 구조 ... 299
소프트웨어 디자인의 중요성 ... 300
디자인 접근 ... 300
몇 가지 기본 기술들 ... 302
모듈과 다중 파일 ... 308
이름짓기의 관례 ... 309
규칙의 예외 ... 311
이 책에서 사용된 디자인 ... 312
요약 ... 314
질문과 답변 ... 314
연습 문제 ... 314
제2부 윈도우 프로그래밍
제10장 Mirus 게임 라이브러리의 설계 ... 317
일반적인 사항 ... 318
Mirus 컴포넌트 ... 319
Helper 컴포넌트 ... 319
윈도우 컴포넌트 ... 320
그래픽 컴포넌트 ... 320
사운드 컴포넌트 ... 324
입력 컴포넌트 ... 325
Help 컴포넌트 만들기 ... 326
Mirus를 사용하는 방법 ... 334
요약 ... 335
질문과 답변 ... 335
제11장 윈도우 프로그래밍 시작하기 ... 337
윈도우의 역사 ... 338
윈도우 프로그래밍의 소개 ... 339
Visual C++와 윈도우 애플리케이션 ... 342
윈도우 애플리케이션의 생성 ... 342
실시간 메시지 루프의 생성 ... 355
재사용 가능한 윈도우 클래스의 생성 ... 360
Mirus 윈도우 프레임워크의 사용 ... 368
공통 윈도우 함수 ... 370
Show ... 373
요약 ... 373
질문과 답변 ... 373
연습 문제 ... 374
제12장 DirectX 소개 ... 375
DirectX란? ... 376
DirectX의 역사 ... 376
DirectX를 사용하는 이유 ... 377
DirectX의 컴포넌트 ... 379
DirectX의 작동 방식 ... 380
Visual C++를 이용한 DirectX의 사용법 ... 383
요약 ... 385
질문과 답변 ... 385
연습 문제 ... 386
제13장 DirectX 그래픽 ... 387
사용하게 될 인터페이스 ... 388
Direct3D 기본 기능의 사용 ... 390
Surface, Buffer 그리고 Swap Chain ... 405
Vertex, Polygon 그리고 Texture ... 415
윈도우 비트맵 ... 428
Full Screen과 다른 Bit Mode ... 431
컬러 이론과 컬러키 ... 432
Targa 파일 ... 436
애니메이션과 템플릿 집합 ... 438
충돌 감지 ... 440
2D 이미지 처리 ... 443
2D Primitive ... 449
Mirus의 개발 ... 454
요약 ... 531
질문과 답변 ... 532
연습 문제 ... 532
제14장 Directlnput ... 533
Directlnput에 대한 소개 ... 534
mrlnputManager ... 536
mrKeyboard ... 539
mrMouse ... 552
mrJoystick ... 565
요약 ... 576
질문과 답변 ... 576
연습 문제 ... 576
제15장 DirectSound ... 577
사운드 이론 ... 578
DirectSound의 기본 개념 ... 579
mrSoundPlayer ... 580
mrSound ... 584
Media Control Interface ... 595
mrCDPlayer ... 596
요약 ... 601
질문과 답변 ... 602
연습 문제 ... 602
제3부 하드코어 게임 프로그래밍
제16장 게임 디자인의 소개 ... 605
게임 디자인이란? ... 606
디자인 문서 ... 607
머릿속에 있는 기술이 그다지 좋지 않은 이유 ... 607
디자인의 두 가지 타입 ... 608
전체적인 디자인 문서 ... 610
간단한 게임 디자인 : "우주 침략자(Space Invaders)" ... 612
요약 ... 616
질문과 답변 ... 617
연습 문제 ... 617
제17장 자료구조와 알고리즘 ... 619
올바른 자료구조와 알고리즘의 중요성 ... 620
리스트 ... 622
트리 ... 634
일반적인 트리 ... 635
이진 검색 트리 ... 642
데이터의 정렬 ... 657
버블 정렬 ... 657
퀵 정렬 ... 660
압축 ... 665
RLE 압축 ... 666
요약 ... 668
질문과 답변 ... 668
연습 문제 ... 669
제18장 게임의 수학적 측면 ... 671
삼각함수 ... 672
벡터 ... 677
행렬 ... 687
가능성 ... 697
함수들 ... 700
요약 ... 703
질문과 답변 ... 703
연습 문제 ... 704
제19장 인공지능에 대한 소개 ... 705
인공지능의 다양한 분야 ... 706
Deterministic 알고리즘 ... 714
Finite State Machines ... 720
퍼지 이론 ... 722
메모리를 사용하는 간단한 방법 ... 726
요약 ... 727
질문과 답변 ... 728
연습 문제 ... 728
제20장 물리학 모델링에 대한 소개 ... 729
물리학의 소개 ... 730
물리학 엔진의 개발 ... 730
기본적인 물리학 개념 ... 733
힘 ... 740
중력의 작용 ... 746
마찰 ... 752
충돌 처리 ... 758
시뮬레이팅 ... 764
파티클 시스템 ... 773
요약 ... 790
질문과 답변 ... 790
연습 문제 ... 791
제21장 벽돌깨기 게임 개발 ... 793
벽돌깨기 게임의 설계 ... 794
벽돌깨기 게임의 구현 ... 801
결론 ... 850
제22장 게임 발매 ... 851
게임이 판매할 만한 가치가 있는가? ... 852
게임 유통회사의 선택 기준 ... 853
올바른 게임 유통회사를 고르는 방법 ... 854
접촉 ... 855
중요 일정 ... 856
유통회사를 찾지 못한 경우 ... 857
인터뷰 ... 857
요약 ... 862
참고 ... 862
결론 ... 862
제4부 부록
부록 A CD-ROM에 대해서 ... 865
소스 ... 867
마이크로소프트 DirectX 8.1 SDK ... 867
프로그램 ... 867
게임 ... 868
부록 B Visual C++를 사용한 디버깅 ... 871
Breakpoint와 실행 제어 ... 872
실행중에 변수의 수정 ... 873
변수 값 보기 ... 874
부록 C 이진수, 16진수, 십진수 ... 875
이진수 ... 876
16진수 ... 876
십진수 ... 877
부록 D A C Primer ... 879
표준 입력과 출력 ... 880
파일의 입력과 출력 ... 881
구조체 ... 884
동적 메모리 ... 884
부록 E 연습 문제 정답 ... 887
부록 F C++ 키워드 ... 897
부록 G 프로그래밍에 필요한 표 ... 899
ASCII 표 ... 900
적분 표 ... 902
미분 표 ... 902
관성 방정식 표 ... 903
부록 H 관련 사이트 및 참고 문헌 ... 905
게임 개발과 프로그래밍 ... 906
새로운 소식이나 리뷰 그리고 다운로드 사이트 ... 907
엔진 ... 907
독립적인 게임 개발자 ... 907
산업 ... 908
컴퓨터 유머 ... 908
참고 도서 ... 909
찾아보기 ... 910
더보기 닫기