출고예상일 안내
주문하신 상품이 한국에서 현지 배송을 위한 출고단계가 이루어질 것으로 예상되는 날짜입니다. 상품을 준비하는 과정에서 내부적인 사정으로 인해 출고예상일에 다소 오차가 생길 수 있습니다.
여러 상품(예약상품포함)을 함께 주문하신 경우 출고예상일이 가장 늦은 날짜에 맞춰 함께 배송됩니다.

ISBN : 9788956746166 / 520쪽 188 x 235 (㎜)
이 상품에 궁금하신점이 있으세요? 1:1상담문의

-
엥지유니버스
-
박현규, 김성경
-
클리커, 이희영, 강민혁
-
성구(강성규)
- 27,000
- 21,600
- 22,500
- 21,600
출판사 리뷰
출판사 서평 “파이썬으로 프로그래밍과 게임 개발, 두 마리 토끼를 한 번에 잡는다.” 이 책은 파이썬이라는 언어로 컴퓨터 게임을 어떻게 프로그래밍하는지에 대해 알려주고 있다. 프로그래밍을 전혀 경험해보지? 못한 사람들에게 파이썬이라는 프로그래밍 언어는 그 어떤 언어보다 쉽게 접근이 가능하다. 또한, 사람들이 가장 관심을 가지고 재미있어하는 게임을 직접 만들어 보면서 자연스럽게 프로그래밍을 배울 수 있도록 구성되어 있다. 행맨(Hangman), 틱택토(Tic Tac Toe), 퍼즐 게임 등 사람들에게 많이 친숙하면서도 아주 단순한 게임들을 ... “파이썬으로 프로그래밍과 게임 개발, 두 마리 토끼를 한 번에 잡는다.” 이 책은 파이썬이라는 언어로 컴퓨터 게임을 어떻게 프로그래밍하는지에 대해 알려주고 있다. 프로그래밍을 전혀 경험해보지 못한 사람들에게 파이썬이라는 프로그래밍 언어는 그 어떤 언어보다 쉽게 접근이 가능하다. 또한, 사람들이 가장 관심을 가지고 재미있어하는 게임을 직접 만들어 보면서 자연스럽게 프로그래밍을 배울 수 있도록 구성되어 있다. 행맨(Hangman), 틱택토(Tic Tac Toe), 퍼즐 게임 등 사람들에게 많이 친숙하면서도 아주 단순한 게임들을 예제로 사용하였다. 프로그래밍을 처음 배우는 초보자를 대상으로 하고 있어서 무엇보다 이해도를 높이기 위해 게임 소스를 하나씩 다루면서 그에 따른 프로그래밍 방법을 상세하게 설명하고 있다. 독자 타깃 - 컴퓨터 프로그래밍을 스스로 공부하고 싶은 초보자 - 게임을 만들면서 컴퓨터 프로그래밍에 대해 배우고 싶은 사람 - 프로그래밍을 가르치고 싶은 성인과 선생님 구성 특징 ■ 기존의 프로그래밍 도서들과는 전혀 다른 접근 방식 기존의 초보자용 프로그래밍 도서들은 시작부터 암기 위주의 설명으로 진행되어 흥미를 반감시키는데 반해 이 책은 재미있는 게임들을 먼저 보여준 다음에 게임이 어떻게 동작하는지 설명함으로써 프로그래밍 방법을 자연스럽고 쉽게 알려주고 있다. ● 다양하고 풍부한 예제 게임 소스 수록 1장부터 8장까지는 프로그래밍의 기본과 파이썬이라는 언어에 대해 설명하고, 이후 장부터는 다양한 예제 게임 소스를 통해 게임 개발과 프로그래밍 방법을 한 번에 설명하고 있다. 플로우 차트, 좌표계 등 초보자들이 이해하기 어려운 부분들은 대부분 그림 위주로 이해하기 쉽게 설명하고 있다. 챕터별 요약 Chapter 01. 파이썬 설치하기 파이썬을 인터넷에서 다운로드해서 각각의 운영체제(윈도우/리눅스/맥)별로 PC에 설치하는 방법을 설명하고 있다. 또한, 인터프리터의 기본 개념과 이 책으로 공부하는 방법에 대해 알려준다. Chapter 02. 상호대화형 셸 파이썬 개발 환경인 상호대화형 셸의 사용 방법과 파이썬 명령어를 입력하는 기본적인 방법들을 배워본다. 파이썬의 표현식과 연산자에 대해 알아보고 변수 안에 값을 저장해서 프로그래밍하는 방법을 설명한다. Chapter 03. 문자열 변수에 텍스트를 어떻게 저장하고 서로 어떻게 연결시키는지, 화면에서 텍스트를 어떻게 보여주는지 등 파이???에서 텍스트를 이용하는 방법들에 대해 살펴본다. 그리고 독자들이 직접 만들어보는 첫 번째 프로그램인 “Hello World!”를 배워본다. Chapter 04. 숫자 알아맞히기 게임 컴퓨터가 1부터 20까지의 숫자 중 무작위로 하나의 숫자를 선택하고 플레이어에게 그 숫자가 무엇인지를 알아맞히게 하는 게임을 만든다. 이 게임을 통해 무작위 수와 반복문, 사용자의 입력 방식에 대해 배울 수 있다. 또 이 게임을 만들면서 자료형 변환에 대해서도 배우게 된다. Chapter 05. 조크 조크라는 게임을 만들면서 print(), input() 함수를 배운다. 키보드로 입력하기 어려운 문자를 쓰기 위한 확장 문자 사용 방법과 화면에 문자열을 원하는 형식으로 보여주는 방법에 대해 설명하고 있다. Chapter 06. 드래곤 왕국 드래곤 왕국 게임에서는 함수에 대해 집중적으로 다루고 있다. 수를 만드는 방법, 함수 호출, 그에 따른 반환값이란 무엇인지 알아보고 변수 영역에서의 지역 변수와 전역 변수에 대해 설명한다. Chapter 07. 디버거 사용하기 프로그램을 작성할 때 개발자들을 제일 곤혹스럽게 만드는 버그에 대해 알아본다. 프로그램을 작성한 다음에는 디버거를 사용해서 코드가 정말로 잘 작동하는지 확인하는 작업까지 살펴본다. Chapter 08. 플로우 차트 게임을 직접 디자인해 보면서 복잡한 프로그램을 만들 때 필요한 플로우 차트를 그려보고 프로그램 기획과 설계 방법을 배워본다. 플로우 차트를 어떤식으로 만드는지 단계별로 설명하고 있어 확실히 이해할 수 있다. Chapter 09. 행맨 본격적으로 게임 개발에 들어가는 챕터로, 메소드와 함수의 차이에 대해 배워보고 for문의 직접적인 활용 방법, range() 함수를 이용한 for문에 대해 설명한다. 그밖에도 else-if문과 딕셔너리에 대해 설명한다. Chapter 10. 틱택토 이 챕터에서는 지금까지 나왔던 개념을 가지고 틱택토 게임의 인공지능을 만든다. 여기서 플레이어는 간단한 인공지능과 게임을 하게 되는데 틱택토의 인공지능을 단 몇 줄의 코드만으로도 쉽게 만들 수 있음을 보여준다. Chapter 11. 베이글 베이글 게임은 상대가 3자리 숫자를 생각하면 또 다른 상대가 그 숫자를 맞히는 게임이다. 베이글 게임을 통해 파이썬의 새로운 메소드와 함수에 대해 알아보고 증가 대입 연산자와 문자열 삽입에 대해 배운다. Chapter 12. 카르테시안 좌표계 게임에 많이 사용하는 수학적 개념에 대해 설명한다. 주로 2차원 게임 개발에 꼭 필요한 카르테시안 좌표계에 대해 알아보고 더불어 음수를 어떻게 다루는지도 설명한다. 또한, 음수와 양수를 더하고 뺄 때 유용한 트릭에 대해서도 배워본다. Chapter 13. 음파탐지기 음파탐지기는 바다 아래에 가라앉은 보물을 찾아내는 게임으로 보물상자가 현재 위치에서 얼마나 멀리 떨어져있는지를 알아내서 최종적으로 보물상자의 정확한 위치를 파악하는 게임이다. 이 게임을 통해 remove() 리스트 메소드와 isdigit() 문자열 메소드에 대해 설명하고, 카르테시안 좌표계를 직접 게임에 적용하는 방법을 익힌다. 그리고 마지막으로 데이터 구조에 대해 설명한다. Chapter 14. 시저 암호 시저 암호를 통해 메시지를 암호화하고 다시 해독하는 방법을 배운다. 프로그래밍에 있어서 처리하고자 하는 정보를 어떻게 숫자로 표현할지에 대해 주의 깊게 생각해야 한다. 이 챕터에서는 특히 정보를 숫자로 표현하는 방법을 강조해서 설명한다. 숫자뿐만 아니라 문자열로 어떻게 수학을 하는지도 알려준다. Chapter 15. 리버시 리버시는 격자상에서 수행하는 보드 게임이다. 따라서 음파탐지기 게임처럼 XY 좌표가 있는 카르테시안 좌표계를 사용한다. 틱택토 게임에서 만들었던 것보다 훨씬 더 발전된 인공지능을 만들 수 있다. 또 리버시를 통해서 ASCII 아트로 얼마나 많은 일을 할 수 있는지 보여준다. Chapter 16. 인공지능 시뮬레이션 리버시의 여러 가지 전략에 대해 모델을 만들고 컴퓨터로 리버시 게임을 시뮬레이션해본다. 리버시에서 이길 확률이 높은 수가 무엇인지 알아보거나, 시뮬레이션을 통해 훌륭한 전략을 결정하는 방법에 대해 설명한다. Chapter 17. 그래픽과 애니메이션 이 챕터에서는 Pygame 라이브러리를 써서 좀 더 발전된 그래픽과 사운드가 있는 게임을 만들어 본다. 그래픽과 애니메이션, 충돌 감지와 입력, 사운드와 이미지에서는 Pygame 라이브러리를 써서 그래픽, 애니메이션, 마우스 입력, 사운드가 있는 게임을 만들고 Pygame의 기능을 보여주는 간단한 데모 프로그램도 만들어본다. Chapter 18. 충돌감지와 입력 대부분의 그래픽 게임에서 충돌 감지를 사용한다. 충돌 감지는 화면상의 두 물건이 서로 충돌했는지 알아내는 방법으로 컴퓨터 게임에서 많이 사용한다. 이 챕터에서는 충돌 감지를 이용해 두 개의 사각형이 서로 충돌하는지를 알아낸다. 챕터 후반부에서는 Pygame
목차
저자의 글
책에 관하여
CHAPTER 01 파이썬 설치하기
파이썬 다운로드와 설치
윈도우용 설치
Mac OS X용
우분투와 리눅스용 설치
파이썬 시작하기
이 책의 사용법
예제 프로그램들
라인 번호와 스페이스
텍스트줄 바꿈 표기
온라인에서 따라하기
온라인에서 코드 검사하기
요약
CHAPTER 02 상호대화형 셸
간단한 수학 계산
정수와 부동소수점 수
표현식
표현식 평가
표현식 안에 또 다른 표현식을 포함하기
변수에 값 저장하기
한 개 이상의 변수 사용하기
변수 덮어쓰기
요약
CHAPTER 03 문자열
문자열
문자열 연결
IDLE 파일 에디터에서 프로그램 만들기
‘Hello World!’
hello.py
프로그램 저장하기
저장한 프로그램 열기
‘Hello World’ 프로그램 동작 원리
주석
함수
print() 함수
input() 함수
프로그램 종료하기
변수 이름
요약
CHAPTER 04 숫자 알아맞히기 게임
숫자 알아맞히기 게임
숫자 알아맞히기 게임 실행 예제 맛보기
숫자 알아맞히기 게임 소스 코드
import문
random.randint() 함수
모듈 안에 있는 함수 호출
함수에게 인자 넘겨주기
환영 인사
반복문
블록
불리언 자료형
비교 연산자
조건식
불리언, 비교 연산자, 조건식 연습
while문으로 반복문 만들기
플레이어가 추측한 숫자 입력
int() 함수를 이용해 문자열을 정수로 변환하기
변숫값 증가시키기
if문
Break문으로 반복문을 일찍 빠져나가기
플레이어가 이겼는지 검사하기
플레이어가 졌는지 검사하기
요약
프로그램을 따라가 볼 수 있는 웹사이트
CHAPTER 05 조크
print() 더 깊이 이해하기
조크 게임 실행 예제 맛보기
조크 게임의 소스 코드
코드가 어떻게 작동하는가?
확장 문자
다른 확장 문자들
작은따옴표와 큰따옴표
end 키워드 인자
요약
CHAPTER 06 드래곤 왕국
함수 소개
드래곤 왕국 게임하는 방법
드래곤 왕국 게임 실행 예제 맛보기
드래곤 왕국 소스 코드
코드가 어떻게 작동하는가?
displayIntro() 함수 정의하기
def문
chooseCave() 함수 정의하기
불리언 연산자
불리언 연산자가 있는 표현식 평가하기
and와 or 연산자 테스트
not 연산자 테스트
진리표
플레이어의 입력 받기
반환값
변수 영역
전역 영역과 지역 영역
checkCave() 함수 정의하기
파라미터
함수 정의 부분을 어디에 둘 것인가?
게임 결과 보여주기
어떤 동굴에 친절한 용이 있는지 결정하기
콜론(:)
프로그램이 실제 시작되는 곳
프로그램에서 함수 호출하기
플레이어에게 게임을 또 할 것인지 물어보기
프로그램 디자인하기
요약
CHAPTER 07 디버거 사용하기
버그
디버거
디버거 시작하기
스테핑
Go와 Quit 버튼
Step In, Over 그리고 Out
버그 찾아내기
브레이크 포인트
브레이크 포인트 사용 예제
요약
CHAPTER 08 플로우 차트
행맨 게임 방법
행맨 게임 실행 예제 맛보기
ASCII 아트
플로우 차트로 프로그램 디자인하기
플로우 차트 만들기
플로우 차트 박스에서 가지치기
게임을 끝내거나 다시 시작하기
다시 추측하기
플레이어에게 피드백 주기
요약
CHAPTER 09 행맨
행맨의 소스 코드
코드가 어떻게 작동하는가
다중 라인 문자열
상수
리스트
리스트 아이템의 값을 인덱스 대입으로 바꾸기
리스트 결합
in 연산자
del로 리스트의 아이템 지우기
리스트의 리스트
메소드
lower()와 upper() 문자열 메소드
reverse()와 append() 리스트 메소드
메소드와 함수의 차이
split() 리스트 메소드
코드가 어떻게 작동하는가?
플레이어에게 게임판 보여주기
range()와 list() 함수
for문
슬라이스와 슬라이스하기
빈칸으로 비밀 단어 보여주기
맞게 추측한 단어로 _ (언더스코어) 바꾸기
플레이어의 추측 얻어내기
elif(‘Else If’)문
플레이어가 유효한 추측을 입력했는지 확인하기
플레이어에게 또 게임을 할 것인지 물어보기
지금까지 정의한 함수 다시 보기
행맨의 주요 코드
변수 설정하기
플레이어에게 게임판 보여주기
행맨 프로그램을 바꾸기
딕셔너리
len()으로 딕셔너리의 크기 알아내기
딕셔너리와 리스트의 차이점
행맨의 단어 세트
andom.choice() 함수
리스트의 딕셔너리를 평가하기
다중 대입
플레이어에게 단어 종류를 알려주기
요약
CHAPTER 10 틱택토
틱택토 게임 실행 예제
틱택토의 소스 코드
프로그램 디자인
보드를 데이터로 표현하기
게임의 인공지능
코드 해설 : 첫 번째~81번째 줄
보드에 마크 표시하기
리스트 레퍼런스
makeMove()에서 리스트 레퍼런스 사용하기
플레이어가 이겼는지 검사하기
보드 데이터 복사하기
보드의 공간이 비었는지 확인하기
플레이어가 글자마크를 놓도록 하기
건너뛰기 평가
건너뛰기 평가의 예
코드 해설 : 83~94번째 줄
None 값
코드 해설 : 96~187번째 줄
요약
CHAPTER 11 베이글
실행 예제 맛보기
베이글의 소스 코드
프로그램 디자인하기
코드 해설 : 첫 번째~아홉 번째 줄
유일한 숫자들 섞기
random.shuffle() 함수
섞인 숫자에서 비밀번호 얻어내기
증가 대입 연산자
코드 해설 : 11~24번째 줄
sort() 리스트 메소드
join() 문자열 메소드
코드 해설 : 29~53번째 줄
문자열 삽입
코드 해설 : 55~76번째 줄
요약
CHAPTER 12 카르테시안 좌표계
격자와 카르테시안 좌표계
음수
수학적 트릭
절대값과 abs() 함수
컴퓨터 모니터에서 카르테시안 좌표계
요약
CHAPTER 13 음파탐지기
수행 예제
음파 탐지기의 소스 코드
프로그램 디자인
코드 해설 : 첫 번째~38번째 줄
게임 보드 그리기
윗 부분에 X좌표 표시하기
바다를 표현하는 가로 행 그리기
아랫부분에 X좌표 표시하기
바다에서 가로 행의 상태 알아내기






































