스크랩

구간

나만의 Python Game 만들기 초보자를 위한 파이썬 프로그래밍 가이드

알 슈베이가르트 저 | 김세희 역 | 정보문화사 | 2014년 06월

미리보기 북트리

정가
$50.00
판매가
$36.45 (27%↓) 최저가 보상
적립금
$0.73 (2%P)
출고예상일
2026년 10월 08일 수령예상일 안내
재고수
인터넷(1)
북카트 담기 바로구매하기 위시리스트담기

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9788956746166 / 520쪽 188 x 235 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

책 소개

출판사 리뷰

출판사 서평 “파이썬으로 프로그래밍과 게임 개발, 두 마리 토끼를 한 번에 잡는다.” 이 책은 파이썬이라는 언어로 컴퓨터 게임을 어떻게 프로그래밍하는지에 대해 알려주고 있다. 프로그래밍을 전혀 경험해보지? 못한 사람들에게 파이썬이라는 프로그래밍 언어는 그 어떤 언어보다 쉽게 접근이 가능하다. 또한, 사람들이 가장 관심을 가지고 재미있어하는 게임을 직접 만들어 보면서 자연스럽게 프로그래밍을 배울 수 있도록 구성되어 있다. 행맨(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

저자 소개

캘리포니아 샌프란시스코의 소프트웨어 개발자이다. 자전거 타기, 독서, 자원봉사, 컴퓨터 보안, 유용한 소프트웨어 만들기를 즐긴다. 원래는 텍사스 휴스턴 출신이며 오스틴의 텍사스 대학에서 컴퓨터과학 학위를 받았다. 친절하고 내성적이며 고양이를 좋아하고 하루하루 뇌세포가 늙어가는 것을 걱정한다. 공원에서 다람쥐를 발견하면 바보같이 크게 웃곤 한다. 빈 아파트에서 외로울 때면 NPR 뉴스 리포트를 들으며 마음을 치유한다.


 

역자 소개

한국 IBM과 VMware에서 시스템 엔지니어로 근무했다. 현재는 가족들과 함께 미국 실리콘밸리에서 번역
을 하며 재충전 중이다. 10년간 한국 IBM에서 UNIX 시스템 기술 지원 및 서로 다른 OS 간 C/C++ 프로그램 이식 업무를 했다. 2008년 중반부터 클라우드 컴퓨팅과 Amazon Web Service를 접하고, IBM 월드 와이드 파일럿 클라우드 시스템 프로젝트에 참가하면서 클라우드 관련 기술에 흥미를 가지게 되었다. VMware Global로 이직 후 클라우드 기술 전문가 겸 에반젤리스트로 근무하며 각종 프라이빗 클라우드 시스템 및 데스크톱 클라우드 서비스 구성에 참가했다. 재학 시절부터 꾸준히 번역 활동에 참가해 왔으며 저서로는 《Multitenant Utility Computing on IBM Power Systems Running AIX》, 역서로는 《비주얼 C++ 5.0 언리쉬드(대림)》, 《다이나믹 HTML 언리쉬드(대림)》, 《HTML4.0 언리쉬드(대림)》 등이 있다.


 

목차

목차
저자의 글
책에 관하여
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좌표 표시하기
바다에서 가로 행의 상태 알아내기

top