서브메뉴

본문

C전문가 원일용의 C를 게임으로 정복하기
C전문가 원일용의 C를 게임으로 정복하기
저자 : 원일용
출판사 : 북스홀릭
출판년 : 2011
ISBN : 9788994914312

책소개

IT 입문자와 전문가가 쉽게 배우고 강의하기 편한 「IT Holic」 제35권 『C 전문가 원일용의 C를 게임으로 정복하기』. 현대 컴퓨터 프로그래밍의 가장 근본이 되는 언어인 C에 대한 입문서이자 활용서다. 문법 중심으로 설명하기보다는 게임을 만드는 퀘스트를 내세워 흥미를 자아낸다. 자신이 수행하고자 하는 퀘스트를 해결하여 게임을 만드는 데에만 집중해도 저절로 문법은 물론, 프로그래밍 방법을 습득하도록 구성되어 있다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

첫째, 초보자들에게 C언어에 대한 흥미를 유발 시킨다. 언어를 지속적으로 배우는데 가장 중요한 것은 흥미라고 한다면 아주 중요한 요소이다.

둘째, 문법지식 보다 문법을 활용하여 실제적인 일에 적용하는 능력을 중시하는 성향이 강하다. 사전식의 나열하는 문법 지식은 책을 한권 다 독파 후에도 어느 정도 난이도 있는 완성 프로그램을 만드는 것이 어려운 현실이다. 이 책은 문법보다는 완성된 프로그램을 만들어 가는 과정에 더욱 중점을 두고 있는 것 같다.

셋째, 눈으로 코드를 이해시키는 것에서 멈추지 않고, 손으로 코딩을 강요시켜 잘 따라가면 자신도 모르는 사이에 실력이 크는 것을 느끼게 한다. 저자는 “백견이 불여일타”라는 철학을 철저하게 고수하고 있으며 책의 여기저기에서 독자들에게 잔소리를 늘여놓고 있다.

넷째, 책의 구성이 계단을 오르는 것처럼, 점진적인 구성을 통해 프로그래밍 실전 능력을 향상시키는 구성을 가지고 있다. 독자는 구태여 문법을 의식하지 않고, 제시된 목표의 프로그램을 만드는 것에 집중하면 그 과정에서 자연스럽게 문법을 익힐 수 있도록 배려했으며, 어느 정도 난이도 조절을 정교하게 배치한 것을 볼 수 있었다.

다섯째, 이 책으로 공부하고 나면 C언어 이외의 언어도 흥미를 가지고 접근할 수 있는 용기를 준다. 책을 끝까지 보는 것에 성공한다면 독자는 어느 정도 자신감을 가질 수 있을 것 같다. 한 언어에 대하여 자신감을 가지면 사실 다른 언어는 문법적인 지식만 배우면 바로 실전에 사용할 수 있는 것이 상대적으로 쉽기 때문에 성취감이야 말로 중요한 요소가 아닌가 생각한다.

여섯째, 이 책은 기존의 문법 중심의 책들과는 다른 재미있는 구성을 하고 있다. 게임을 좋아하는 요즘 젊은이들이 마치 게임하듯이 C언어 학습에 접근할 수 있도록 새롭고 재미있는 접근방법을 시도하고 있다.

[추천인]
황희융
전 서울대학교 교수
전 호서대학교 교수
전 벤처대학원대학교 총장
현 서울대 명예교수
현 호서대 명예교수
[교보문고에서 제공한 정보입니다.]

목차정보

Quest00_환경설정
01_프롤로그 / 02_기초 공략
Visual Studio를 이용하여 새로운 프로젝트를 설정하고 출력하는 코드를 추가한 후 빌딩하고 실행하는 과정을 다룬다.

Quest01_계산기
01_프롤로그 / 02_기초 공략 / 03_코딩 공략 / 04_내공 쌓기
두 개의 정수를 입력 받아 사칙 연산 결과와 큰 수를 출력한다.

Quest02_성적 처리
01_프롤로그 / 02_기초 공략 / 03_코딩 공략 / 04_내공 쌓기
각 학생의 총점 및 평균 점수를 출력하고 가장 우수한 학생의 번호를 출력하되 동점인 경우 번호가 빠른 사람이 우수한 것으로 처리한다.

Quest03_로또
01_프롤로그 / 02_기초 공략 / 03_코딩 공략 / 04_내공 쌓기
1~46까지 정수 중 중복없이 6개의 임의의 수를 출력한다.

Quest04_구조적 프로그래밍
01_프롤로그 / 02_기초 공략 / 03_코딩 공략 / 04_내공 쌓기
앞선 퀘스트에서 만들었던 계산기, 성적처리, 로또를 구조적 프로그래밍 기법을 이용하여 각각 완성한다.

Quest05_가위 바위 보
01_프롤로그 / 02_기초 공략 / 03_코딩 공략 / 04_내공 쌓기 / 05_구조 공략 / 06_확장 공략
가위 바위 보 게임은 컴퓨터와 사람이 가위 바위 보를 하는 것으로, -1(종료), 0(가위), 1(바위), 2(보)로 정의되며, 게임이 종료되면 플레이어의 승률을 출력한다.

Quest06_숫자 야구
01_프롤로그 / 02_기초 공략 / 03_코딩 공략 / 04_내공 쌓기 / 05_구조 공략 / 06_확장 공략
숫자 야구 게임은 컴퓨터가 중복되지 않게 0에서 9까지의 숫자들 중 3개를 임의로 선택하면 플레이어가 그 숫자를 맞추는 게임이다.

Quest07_행맨
01_프롤로그 / 02_기초 공략 / 03_코딩 공략 / 04_내공 쌓기 / 05_구조 공략 / 06_확장 공략
컴퓨터가 가지고 있는 사전에서 임의로 단어를 선택한 후, 구체적인 스펠링은 보여주지 않고 단어 길이만큼 ‘*’로 보여주어 예측하여 맞추는 게임이다.

Quest08_멀티플랫폼 기반 텍스트그래픽 라이브러리(MTG)
01_프롤로그 / 02_기초 공략 / 03_코딩 공략 / 04_내공 쌓기
윈도우즈와 리눅스에서 소스 레벨에서 호환되는 프로그램을 작성한다. 단, 프로그램은 텍스트 모드 그래픽을 사용하도록 하고, 화면의 특정 위치에 눌려진 키값을 출력하도록 한다.

Quest09_숫자 퍼즐
01_프롤로그 / 02_기초 공략 / 03_코딩 공략 / 04_내공 쌓기 / 05_구조 공략 / 06_확장 공략
3 x 3의 격자 속에 1에서 9까지의 숫자가 들어 있고, 이중 9는 공백으로(*) 처리하여 키보드의 4 방향키를 이용해 왼쪽 상단에서 부터 숫자가 차례로 배열 되도록 한다.

Quest10_푸쉬푸쉬
01_프롤로그 / 02_기초 공략 / 03_코딩 공략 / 04_내공 쌓기 / 05_구조 공략 / 06_확장 공략
푸쉬푸쉬는 지정된 장소(.)에 공(O)을 플레이어(@)가 4개의 방향키를 이용하여 밀어서 목표하는 위치로 이동시키는 게임이다.

Quest11_테트리스
01_프롤로그 / 02_기초 공략 / 03_코딩 공략 / 04_내공 쌓기 / 05_구조 공략 / 06_확장 공략
위쪽에 있던 블록이 시간이 지남에 따라 아래쪽으로 떨어지고 블록의 움직임이 멈추었을 때 가로줄이 모두 블록으로 가득차 있으면 그 가로줄의 블록은 모두 지운다.

Quest12_산성비
01_프롤로그 / 02_기초 공략 / 03_코딩 공략 / 04_내공 쌓기 / 05_구조 공략 / 06_확장 공략
산성비는 타자 연습 프로그램으로 화면에 특정 단어가 일정 시간 간격을 두고 밑으로 떨어지면 플레이어는 키보드로 그 단어를 입력해서 단어를 없애는 게임이다.

Quest13_갤러그
01_프롤로그 / 02_기초 공략 / 03_코딩 공략 / 04_내공 쌓기 / 05_구조 공략 / 06_확장 공략
화면 상단에 적의 우주선이 플레이어를 공격하고 플레이어는 좌우로 움직여 적의 폭탄을 피하면서 미사일을 발사하여 적을 파괴할 수 있다.

확장팩
01_배경음악 및 효과음 추가(윈도우즈)
02_mtg에서 컬러 문자 출력(윈도우즈)
03_mtg의 화면 출력 방법과 함수(윈도우즈)
04_게임 시작 타이틀 화면 제작
05_다중 스테이지 지원
[교보문고에서 제공한 정보입니다.]