책 이미지
eBook 미리보기
책 정보
· 제목 : 파이썬만으로 시작하는 1인 게임 개발 (게임 제작에 필수인 프로그래밍 지식, 알고리즘과 수학)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 게임 프로그래밍
· ISBN : 9788931481693
· 쪽수 : 296쪽
· 출판일 : 2025-12-05
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 게임 프로그래밍
· ISBN : 9788931481693
· 쪽수 : 296쪽
· 출판일 : 2025-12-05
책 소개
노베이스도 파이썬만으로 두더지 잡기, 레이싱, 슈팅 등 다양한 게임을 직접 만들며 알고리즘과 수학, 프로그래밍 기초를 익히게 돕는 입문서다. Chapter별로 기능 구현 과정을 따라가며 충돌 판정 등 핵심 개념을 자연스럽게 배우고, 점프 액션 게임·3D 던전 탐색까지 확장 학습이 가능하다.
■ 주요 내용
Chapter 1 게임 제작의 구조에 대해 알아보자
게임이 무엇인지, 컴퓨터가 어떻게 프로그램을 실행하는지, 그리고 게임과 수학의 관계를 간단한 예로 설명합니다. 이어서 파이썬과 IDLE을 설치·실행하고, 아주 기초적인 코드 작성·저장·실행 과정을 경험해 봅니다.
Chapter 2 프로그래밍 기초 지식
입력·출력, 변수, 배열, 조건문, 반복문, 함수 등 파이썬 프로그래밍의 기본 문법을 배웁니다. 게임 제작에 꼭 필요한 "생각을 코드로 옮기는 방법"을 간단한 예제 프로그램으로 연습합니다.
Chapter 3 그래픽을 표시하자
tkinter를 이용해 윈도와 캔버스를 만들고, 선·도형·텍스트·이미지 등을 화면에 그리는 방법을 익힙니다. 좌표와 2차원 배열을 이용해 색과 배치를 제어하는 등, 게임 화면의 기초가 되는 그래픽 표현을 연습합니다.
Chapter 4 게임 제작을 위한 기초 지식
실시간으로 화면을 갱신하고, 마우스·키보드 입력을 이벤트로 받아 처리하는 방법을 배웁니다. 전역 변수, 좌표 계산, 충돌 판정(원/사각형)을 통해 "움직이고 부딪히는" 게임의 기본 구조를 이해합니다.
Chapter 5 두더지 잡기를 만들어 보자
랜덤, 배열, 실시간 처리, 키 입력 등을 조합해 두더지 잡기 게임을 완성합니다. 타이틀·게임 오버 화면 전환까지 구현해 보며, 하나의 완성된 미니 게임을 설계·구현·개조하는 흐름을 체험합니다.
Chapter 6 테니스 게임을 만들어 보자
벡터와 속도를 이용해 공이 움직이고 튕기는 간단한 물리 표현을 배우며, 공과 바, 배경을 이용한 테니스 게임을 만듭니다. 점수와 하이스코어, 화면 전환, 충돌 판정까지 포함한 좀 더 복잡한 게임 구조를 구현합니다.
Chapter 7 레이싱 게임을 만들어 보자
스크롤되는 배경, 플레이어 자동차, 적 차량을 배열과 실시간 처리로 관리해 레이싱 게임을 제작합니다. 여러 적 차량과 점수, 게임 오버 처리 등으로, "여러 오브젝트가 동시에 움직이는" 게임 구조를 익힙니다.
Chapter 8 슈팅 게임으로 복습해 보자
슈팅 게임 예제(galaxy_defender.py)를 전체적으로 뜯어보며, 그동안 배운 변수·배열·함수·이벤트·실시간 처리·수학 계산 등을 종합적으로 복습합니다. 코드를 구조별로 분석하고, 스스로 개조해 보는 연습을 합니다.
Appendix A 점프 액션 게임으로 배워 보자
점프 액션 게임 예제(help_princess.py)를 통해 주인공의 점프·이동·애니메이션을 수학과 배열로 표현하는 방법을 봅니다. 바닥과 구멍을 스크롤하며, 요소 추가·삭제로 맵을 구성하는 기법을 익힙니다.
Appendix B 3D 던전 탐색 프로그램으로 배워 보자
레이캐스팅을 이용해 3D 던전(미로)을 표현하는 프로그램(labyrinth_explorer.py와 maze_data1.py)을 분석합니다. 3차원 공간 데이터 구조, 삼각함수와 거리 계산, 벽 높이 보정 등을 통해 3D 표현의 기본 원리를 이해합니다.
Chapter 1 게임 제작의 구조에 대해 알아보자
게임이 무엇인지, 컴퓨터가 어떻게 프로그램을 실행하는지, 그리고 게임과 수학의 관계를 간단한 예로 설명합니다. 이어서 파이썬과 IDLE을 설치·실행하고, 아주 기초적인 코드 작성·저장·실행 과정을 경험해 봅니다.
Chapter 2 프로그래밍 기초 지식
입력·출력, 변수, 배열, 조건문, 반복문, 함수 등 파이썬 프로그래밍의 기본 문법을 배웁니다. 게임 제작에 꼭 필요한 "생각을 코드로 옮기는 방법"을 간단한 예제 프로그램으로 연습합니다.
Chapter 3 그래픽을 표시하자
tkinter를 이용해 윈도와 캔버스를 만들고, 선·도형·텍스트·이미지 등을 화면에 그리는 방법을 익힙니다. 좌표와 2차원 배열을 이용해 색과 배치를 제어하는 등, 게임 화면의 기초가 되는 그래픽 표현을 연습합니다.
Chapter 4 게임 제작을 위한 기초 지식
실시간으로 화면을 갱신하고, 마우스·키보드 입력을 이벤트로 받아 처리하는 방법을 배웁니다. 전역 변수, 좌표 계산, 충돌 판정(원/사각형)을 통해 "움직이고 부딪히는" 게임의 기본 구조를 이해합니다.
Chapter 5 두더지 잡기를 만들어 보자
랜덤, 배열, 실시간 처리, 키 입력 등을 조합해 두더지 잡기 게임을 완성합니다. 타이틀·게임 오버 화면 전환까지 구현해 보며, 하나의 완성된 미니 게임을 설계·구현·개조하는 흐름을 체험합니다.
Chapter 6 테니스 게임을 만들어 보자
벡터와 속도를 이용해 공이 움직이고 튕기는 간단한 물리 표현을 배우며, 공과 바, 배경을 이용한 테니스 게임을 만듭니다. 점수와 하이스코어, 화면 전환, 충돌 판정까지 포함한 좀 더 복잡한 게임 구조를 구현합니다.
Chapter 7 레이싱 게임을 만들어 보자
스크롤되는 배경, 플레이어 자동차, 적 차량을 배열과 실시간 처리로 관리해 레이싱 게임을 제작합니다. 여러 적 차량과 점수, 게임 오버 처리 등으로, "여러 오브젝트가 동시에 움직이는" 게임 구조를 익힙니다.
Chapter 8 슈팅 게임으로 복습해 보자
슈팅 게임 예제(galaxy_defender.py)를 전체적으로 뜯어보며, 그동안 배운 변수·배열·함수·이벤트·실시간 처리·수학 계산 등을 종합적으로 복습합니다. 코드를 구조별로 분석하고, 스스로 개조해 보는 연습을 합니다.
Appendix A 점프 액션 게임으로 배워 보자
점프 액션 게임 예제(help_princess.py)를 통해 주인공의 점프·이동·애니메이션을 수학과 배열로 표현하는 방법을 봅니다. 바닥과 구멍을 스크롤하며, 요소 추가·삭제로 맵을 구성하는 기법을 익힙니다.
Appendix B 3D 던전 탐색 프로그램으로 배워 보자
레이캐스팅을 이용해 3D 던전(미로)을 표현하는 프로그램(labyrinth_explorer.py와 maze_data1.py)을 분석합니다. 3차원 공간 데이터 구조, 삼각함수와 거리 계산, 벽 높이 보정 등을 통해 3D 표현의 기본 원리를 이해합니다.
목차
[Chapter 1] 게임 제작의 구조에 대해 알아보자
1-1 게임의 정체를 알아보자
(1) 컴퓨터 기기는 프로그램으로 움직인다
(2) 게임 내부는 어떻게 되어 있을까?
(3) 프로그램이란?
(4) 프로그램의 지시를 CPU가 이해한다
(5) 컴퓨터의 기본 기능 '입력, 연산, 출력'
(6) 컴퓨터의 또 하나의 중요한 기능 - 기억
1-2 게임 제작과 수학의 관계를 알아보자
(1) 체력을 줄이거나 늘리는 변수
(2) 적이 쫓아온다 - 물체는 어디에 있는가? (좌표)
(3) 가까이 있을까? 멀리 있을까? - 게임 속에 펼쳐진 세계 (2차원 평면)
(4) 수학의 다양한 지식을 활용하자
1-3 프로그래밍 준비
(1) 확장자를 표시하자
(2) 작업 폴더를 만들자
1-4 Python 설치
(1) Windows PC에 설치하는 방법
(2) Mac에 설치하는 방법
1-5 IDLE을 사용해 보자 ① - 셸 윈도
(1) IDLE이란?
(2) IDLE을 실행해 보자
(3) IDLE로 계산이나 달력을 표시해 보자
1-6 IDLE을 사용해 보자 ② - 에디터 윈도
(1) 에디터 윈도 실행하기
(2) 프로그램 입력하기
(3) 프로그램 저장하기
(4) 프로그램 실행하기
(5) 프로그램 입력 방법 정리
?
[Chapter 2] 프로그래밍 기초 지식
2-1 이 장에서 배울 내용
2-2 입력과 출력
(1) 컴퓨터의 기본 기능
(2) print() 사용법
(3) 계산식의 값을 출력하자
(4) input() 사용법
(5) 주석
2-3 변수
(1) 변수란?
(2) 대입연산자
(3) 변수명 붙이기
(4) 변수 값을 계산식으로 바꾸자
(5) 연산자
(6) 타입(데이터 타입)
(7) 문자열과 숫자는 종류가 다른 데이터
(8) 형변환
2-4 배열
(1) Python의 리스트(데이터를 담는 상자)
(2) 배열이란?
(3) 배열 선언
(4) 배열을 사용한 프로그래밍
(5) 2차원 배열
2-5 조건 분기
(1) 조건 분기
(2) if의 3가지 작성법
(3) if 사용법
(4) 들여쓰기
(5) if를 사용한 프로그래밍
(6) 조건식
(7) True와 False
(8) if~else 사용법
(9) if~elif~else 사용법
(10) and 와 or (논리연산자)
2-6 반복
(1) 반복
(2) 2종류의 반복 명령
(3) for의 사용법
(4) range()로 범위를 지정하기
(5) for를 사용한 프로그래밍 - 기본
(6) for를 사용한 프로그래밍 - range()를 통한 범위 지정
(7) 값을 줄이는 반복
(8) break와 continue
(9) while의 사용법
2-7 함수
(1) 게임 속 함수
(2) 함수의 개념
(3) 함수를 정의하는 방법
(4) 매개 변수도 리턴 값도 없는 함수
(5) 매개 변수가 있고 리턴 값이 없는 함수
(6) 리턴 값을 가진 함수
(7) 전역 변수와 지역 변수, 변수의 유효 범위
2장 총 정리
[Chapter 3] 그래픽을 표시하자
3-1 이 장에서 배울 내용
3-2 tkinter로 윈도를 표시해 보자
(1) 게임 제작에 필수적인 윈도
(2) 모듈
(3) Python으로 윈도를 표시하자
(4) 타이틀과 윈도의 크기를 지정하자
3-3 캔버스에 선을 그어 보자
(1) 캔버스란?
(2) 컴퓨터의 좌표에 대해 알아보자
(3) 캔버스를 사용해 보자
(4) 축이 되는 선을 그어 보자
3-4 다양한 도형을 그려 보자
(1) 도형을 표시하는 명령
(2) 도형을 표시하는 명령을 사용해 보자
(3) 캔버스에 문자열을 표시해 보자
3-5 이미지를 표시해 보자
(1) 이미지 파일 준비
(2) 프로그램 확인
(3) PhotoImage() - 이미지 불러오기
(4) create_image() - 이미지 표시
(5) 내가 가진 이미지 파일을 표시해 보자
3-6 배열로 색을 다루어 보자
(1) 색의 문자열을 배열에 대입해 보자
3-7 2차원 배열을 사용해 보자
(1) 2차원 배열로 색을 정의해 보자
(2) for의 중첩 반복문
[Chapter 4] 게임 제작을 위한 기초 지식
4-1 실시간 처리란?
(1) Python으로 실시간 처리하기
(2) 수를 세어 보자
(3) 전역 변수 선언
(4) 문자열 표시하기
(5) delete("all")이 필요한 또 하나의 이유
(6) 실시간 처리의 과정
(7) 전역 변수와 지역 변수
4-2 마우스의 움직임을 가져오자
(1) 이벤트란?
(2) 이벤트가 발생한 사실을 알아내자
(3) bind()의 사용법
(4) 마우스 커서 좌표를 알아내는 프로그램
(5) format()의 사용법
(6) 마우스를 클릭한 사실을 알아내는 방법은?
4-3 마우스로 도형을 움직여 보자
(1) 어떻게 도형을 움직일까?
(2) 원이 커서를 따라가는 프로그램
(3) 마우스 커서를 움직였을 때 불러오는 함수
(4) 실시간 처리를 하는 함수
(5) 좌표 계산
(6) resizable() 명령
4-4 입력된 키 값을 가져오자
(1) 어떤 키를 눌렀는지 알아보자
(2) 키 값을 표시하는 프로그램
(3) 키 코드와 심볼
4-5 숫자 키로 색을 표시해 보자
(1) 어떤 프로그램을 만드는 걸까?
(2) 프로그램 확인
(3) 키가 눌렸을 때 배경색 바꾸기
(4) 문자열의 대소 관계
(5) and 사용법
(6) 문자열을 숫자로 변환하기
4-6 충돌 판정을 계산해 보자 ①-원을 이용한 계산 방법
(1) 충돌 판정
(2) 2개의 원의 거리를 구하는 식
(3) 수학식을 프로그램으로 입력하자
(4) 프로그램 확인
(5) 태그
4-7 충돌 판정을 계산해 보자 ②-사각형을 이용한 계산 방법
(1) 사각형을 이용한 충돌 판정
(2) 사각형이 겹치는 조건을 알아보자
(3) x축 방향의 거리와 y축 방향의 거리를 구해 보자
(4) 사각형이 겹치는 조건을 식으로 표현하자
(5) 절댓값을 사용해 보자
(6) 수식을 프로그램으로 입력하자
(7) 프로그램 확인
(8) 사각형을 표시하는 방법
(9) 마우스로 사각형을 움직이는 처리
(10) 충돌 판정을 하는 if문
[Chapter 5] 두더지 잡기를 만들어 보자
5-1 이 장에서 만들 게임
(1) 두더지 잡기란?
(2) 두더지 잡기를 만드는 이유
(3) 이 장에서 만들 게임의 규칙
(4) 사용할 이미지 파일
(5) 어떤 순서로 완성시킬까?
5-2 Python에서 난수를 사용해 보자
(1) random 모듈을 사용하자
(2) 난수를 발생시키는 명령
(3) 프로그램 확인
(4) 난수의 기본값
5-3 STEP 1 이미지를 불러와서 표시해 보자
(1) 이미지 파일을 불러와서 표시하기
5-4 STEP 2 배열로 5개의 구덩이를 관리하자
(1) 배열 사용하기
(2) 프로그램 확인
(3) 배열에 대입하는 값을 바꿔 보자
5-5 STEP 3 실시간 처리로 두더지가 나타나게 해 보자
(1) 실시간 처리를 추가하자
(2) 프로그램 확인
5-6 STEP 4 키 입력으로 두더지를 때려 보자
(1) 키 입력 추가
(2) 프로그램 확인
(3) 변수 key에 키 값을 대입하자
(4) 얼굴을 내민 두더지를 때려 보자
(5) 뿅망치로 때린 두더지를 구덩이로 돌아가게 해 보자
(6) 키 값의 해제
5-7 STEP 5 타이틀 화면과 게임 오버 화면을 만들어 게임을 완성시키자
(1) 화면 전환
(2) 두더지 잡기의 화면 전환
(3) 씬을 관리하는 변수를 사용해 보자
(4) 완성된 프로그램 확인
(5) 게임을 개조해 보자!
[Chapter 6] 테니스 게임을 만들어 보자
6-1 이 장에서 만들 게임
(1) 테니스 게임이란?
(2) 테니스 게임을 만드는 이유
(3) 이 장에서 만들 게임의 규칙
(4) 사용하는 이미지 파일
(5) 어떤 순서로 완성시킬까?
6-2 벡터를 배워 보자
(1) 벡터는 크기와 방향을 가진다
(2) 속력과 속도
(3) 프로그램으로 물체의 움직임을 계산하는 방법은?
(4) 공을 움직이기 위한 변수
6-3 STEP 1 배경, 공, 바를 표시해 보자
(1) 표시할 것과 표시 위치를 다루는 변수
(2) 이미지와 도형을 표시해서 게임 화면을 만들자
(3) 변수에 초기 값을 대입하자
(4) int()의 기능
(5) 이미지 불러오기와 표시
6-4 STEP 2 공이 자동으로 움직이게 해 보자
(1) 공의 속력을 대입할 변수
(2) 좌표를 변화시키는 계산
(3) 화면 끝에서 튕기게 해 보자
(4) 공이 자동으로 움직이는 프로그램
(5) 화면 끝에서 튕기게 하는 방법
(6) 전역 선언을 잊어버리지 말자
(7) 계산과 표시를 실시간으로 반복하자
(8) 물체의 운동을 표현하는 알고리즘
6-5 STEP 3 마우스의 움직임에 맞춰 바를 움직이게 해 보자
(1) 마우스 이벤트 추가
(2) 바의 좌표를 어떻게 변화시킬까?
(3) 바를 움직이는 프로그램 확인
6-6 STEP 4 바로 공이 튕기도록 만들어 보자
(1) 충돌 판정
(2) 원과 사각형의 충돌을 판정해 보자
(3) 공과 바의 충돌 판정 확인
6-7 STEP 5 점수와 하이스코어를 계산해 보자
(1) 변수에 점수를 대입하고 문자열을 표시하자
(2) 프로그램 확인
(3) text() 함수의 구조
6-8 STEP 6 타이틀 화면과 게임 오버 화면을 넣어 게임을 완성시키자
(1) 화면 전환을 관리하는 변수
(2) 완성된 프로그램 확인
(3) click() 함수
(4) 게임을 개조해 보자!
[Chapter 7] 레이싱 게임을 만들어 보자
7-1 이 장에서 만들 게임
(1) 레이싱 게임이란?
(2) 레이싱 게임을 만드는 이유
(3) 이 장에서 만들 게임의 규칙
(4) 사용하는 이미지 파일
(5) 어떤 순서로 완성시킬까?
7-2 STEP 1 배경을 스크롤하자
(1) 배경 이미지
(2) 화면을 스크롤하는 방법
(3) 배경의 스크롤 처리 확인
(4) 계속 사용하는 값을 상수로 정의하기
(5) 실시간 계산과 이미지 표시
(6) bg_y의 계산을 1줄로 입력하기
7-3 STEP 2 플레이어의 차를 조작할 수 있게 해 보자
(1) 차의 좌표를 대입할 변수
(2) 마우스를 움직였을 때 차를 이동하기
(3) 차를 움직이는 프로그램 확인
(4) 마우스 커서를 움직였을 때 좌표를 변화시키기
(5) 선분의 내분점을 구하는 식
(6) 수식을 프로그램의 식으로 만들자
(7) 마우스 커서의 좌표를 직접 대입하면…
7-4 STEP 3 적측 차량을 1대 움직여 보자
(1) 적측 차량의 좌표를 대입할 변수
(2) 적측 차량을 움직이는 프로그램의 확인
(3) 적측 차량을 움직이는 처리
7-5 STEP 4 플레이어와 적측 차량이 충돌했는지 확인해 보자
(1) 충돌 판정
(2) 프로그램 확인
(3) 충돌 판정 범위
7-6 STEP 5 적측 차량을 여러 대 움직여 보자
(1) 배열을 사용해 보자
(2) 프로그램 확인
(3) for문으로 반복해서 배열의 값을 변경하기
(4) 차의 초기 좌표를 대입하는 함수
7-7 STEP 6 타이틀 화면과 게임 오버 화면을 넣어 게임을 완성시키자
(1) 화면 전환을 관리하는 변수
(2) 점수 계산을 추가해 보자
(3) 완성된 프로그램 확인
(4) 충돌 판정과 게임 오버 화면 전환
(5) click() 함수
(6) 그 외에 추가한 내용
(7) 개조해 보자
[Chapter 8] 슈팅 게임으로 복습해 보자
8-1 이 장에서 만들 프로그램과 복습할 내용
(1) 슈팅 게임이란?
(2) 실행해 보자
(3) 사용할 이미지 파일
(4) 복습할 내용
8-2 프로그램 내용을 살펴보자
(1) galaxy_defender.py 확인
(2) 기초 지식 없이는 소프트웨어를 만들 수 없다
8-3 프로그램을 전체적으로 뜯어 보자
(1) 동작 순서
(2) 변수와 배열
(3) 정의한 함수
8-4 동작의 자세한 내용을 이해해 보자
(1) 수학 계산
(2) 2차원 배열로 적을 관리하자
(3) 이미지를 처리하는 법, 이벤트를 가져오는 법, 실시간 처리 복습
(4) 각 함수의 역할
(5) 개조해 보자
[APPENDIX A] 점프 액션 게임으로 배워 보자
A-1 게임 내용
(1) 액션 게임이란?
(2) 실행해 보자
(3) 사용하는 이미지 파일
A-2 프로그램을 살펴보자
(1) help_princess.py 확인하기
A-3 프로그램을 전체적으로 뜯어 보자
(1) 게임 플레이 시의 동작 순서
(2) 변수와 배열
(3) 정의한 함수
A-4 기능을 자세히 이해해 보자 ① 주인공의 움직임
(1) 수학 계산
(2) 주인공의 애니메이션
A-5 기능을 자세히 이해해 보자 ② 바닥과 구멍의 스크롤
(1) 배열을 사용해 바닥을 만들자
(2) 요소의 삭제와 추가를 이용해 바닥을 스크롤하자
(3) 바닥에 구멍을 배치한다
[APPENDIX B] 3D 던전 탐색 프로그램으로 배워 보자
B-1 게임 내용
(1) 3D 게임
(2) 라비린스 익스플로러의 3D 표현 방법
(3) 실행해 보자
B-2 레이캐스팅
(1) 레이캐스팅이란?
(2) 3차원 미로를 만드는 법
B-3 프로그램을 살펴보자
(1) AppendixB 폴더에 있는 py 파일
(2) 프로그램 확인 ①-labyrinth_explorer.py
(3) 프로그램 확인 ②-maze_data1.py
(4) maze_data1.py를 임포트한다
B-4 프로그램을 전체적으로 뜯어 보자
(1) 동작 순서
(2) 변수와 배열
(3) 정의한 함수
(4) 삼각 함수
B-5 동작을 자세히 알아보자
(1) maze_data1.py에서 데이터를 불러온다
(2) maze_data1.py의 함수
(3) labyrinth_explorer.py에서 정의한 함수
B-6 3차원 공간 표현 방법을 이해해 보자
(1) draw_3d_space()를 확인해 보자
(2) draw_3d_space() 함수의 매개 변수
(3) 레이캐스팅 알고리즘
(4) 벽까지의 거리를 구하는 식
(5) 거리로 벽의 높이를 정한다
(6) 벽의 왜곡을 막는 계산을 넣자
1-1 게임의 정체를 알아보자
(1) 컴퓨터 기기는 프로그램으로 움직인다
(2) 게임 내부는 어떻게 되어 있을까?
(3) 프로그램이란?
(4) 프로그램의 지시를 CPU가 이해한다
(5) 컴퓨터의 기본 기능 '입력, 연산, 출력'
(6) 컴퓨터의 또 하나의 중요한 기능 - 기억
1-2 게임 제작과 수학의 관계를 알아보자
(1) 체력을 줄이거나 늘리는 변수
(2) 적이 쫓아온다 - 물체는 어디에 있는가? (좌표)
(3) 가까이 있을까? 멀리 있을까? - 게임 속에 펼쳐진 세계 (2차원 평면)
(4) 수학의 다양한 지식을 활용하자
1-3 프로그래밍 준비
(1) 확장자를 표시하자
(2) 작업 폴더를 만들자
1-4 Python 설치
(1) Windows PC에 설치하는 방법
(2) Mac에 설치하는 방법
1-5 IDLE을 사용해 보자 ① - 셸 윈도
(1) IDLE이란?
(2) IDLE을 실행해 보자
(3) IDLE로 계산이나 달력을 표시해 보자
1-6 IDLE을 사용해 보자 ② - 에디터 윈도
(1) 에디터 윈도 실행하기
(2) 프로그램 입력하기
(3) 프로그램 저장하기
(4) 프로그램 실행하기
(5) 프로그램 입력 방법 정리
?
[Chapter 2] 프로그래밍 기초 지식
2-1 이 장에서 배울 내용
2-2 입력과 출력
(1) 컴퓨터의 기본 기능
(2) print() 사용법
(3) 계산식의 값을 출력하자
(4) input() 사용법
(5) 주석
2-3 변수
(1) 변수란?
(2) 대입연산자
(3) 변수명 붙이기
(4) 변수 값을 계산식으로 바꾸자
(5) 연산자
(6) 타입(데이터 타입)
(7) 문자열과 숫자는 종류가 다른 데이터
(8) 형변환
2-4 배열
(1) Python의 리스트(데이터를 담는 상자)
(2) 배열이란?
(3) 배열 선언
(4) 배열을 사용한 프로그래밍
(5) 2차원 배열
2-5 조건 분기
(1) 조건 분기
(2) if의 3가지 작성법
(3) if 사용법
(4) 들여쓰기
(5) if를 사용한 프로그래밍
(6) 조건식
(7) True와 False
(8) if~else 사용법
(9) if~elif~else 사용법
(10) and 와 or (논리연산자)
2-6 반복
(1) 반복
(2) 2종류의 반복 명령
(3) for의 사용법
(4) range()로 범위를 지정하기
(5) for를 사용한 프로그래밍 - 기본
(6) for를 사용한 프로그래밍 - range()를 통한 범위 지정
(7) 값을 줄이는 반복
(8) break와 continue
(9) while의 사용법
2-7 함수
(1) 게임 속 함수
(2) 함수의 개념
(3) 함수를 정의하는 방법
(4) 매개 변수도 리턴 값도 없는 함수
(5) 매개 변수가 있고 리턴 값이 없는 함수
(6) 리턴 값을 가진 함수
(7) 전역 변수와 지역 변수, 변수의 유효 범위
2장 총 정리
[Chapter 3] 그래픽을 표시하자
3-1 이 장에서 배울 내용
3-2 tkinter로 윈도를 표시해 보자
(1) 게임 제작에 필수적인 윈도
(2) 모듈
(3) Python으로 윈도를 표시하자
(4) 타이틀과 윈도의 크기를 지정하자
3-3 캔버스에 선을 그어 보자
(1) 캔버스란?
(2) 컴퓨터의 좌표에 대해 알아보자
(3) 캔버스를 사용해 보자
(4) 축이 되는 선을 그어 보자
3-4 다양한 도형을 그려 보자
(1) 도형을 표시하는 명령
(2) 도형을 표시하는 명령을 사용해 보자
(3) 캔버스에 문자열을 표시해 보자
3-5 이미지를 표시해 보자
(1) 이미지 파일 준비
(2) 프로그램 확인
(3) PhotoImage() - 이미지 불러오기
(4) create_image() - 이미지 표시
(5) 내가 가진 이미지 파일을 표시해 보자
3-6 배열로 색을 다루어 보자
(1) 색의 문자열을 배열에 대입해 보자
3-7 2차원 배열을 사용해 보자
(1) 2차원 배열로 색을 정의해 보자
(2) for의 중첩 반복문
[Chapter 4] 게임 제작을 위한 기초 지식
4-1 실시간 처리란?
(1) Python으로 실시간 처리하기
(2) 수를 세어 보자
(3) 전역 변수 선언
(4) 문자열 표시하기
(5) delete("all")이 필요한 또 하나의 이유
(6) 실시간 처리의 과정
(7) 전역 변수와 지역 변수
4-2 마우스의 움직임을 가져오자
(1) 이벤트란?
(2) 이벤트가 발생한 사실을 알아내자
(3) bind()의 사용법
(4) 마우스 커서 좌표를 알아내는 프로그램
(5) format()의 사용법
(6) 마우스를 클릭한 사실을 알아내는 방법은?
4-3 마우스로 도형을 움직여 보자
(1) 어떻게 도형을 움직일까?
(2) 원이 커서를 따라가는 프로그램
(3) 마우스 커서를 움직였을 때 불러오는 함수
(4) 실시간 처리를 하는 함수
(5) 좌표 계산
(6) resizable() 명령
4-4 입력된 키 값을 가져오자
(1) 어떤 키를 눌렀는지 알아보자
(2) 키 값을 표시하는 프로그램
(3) 키 코드와 심볼
4-5 숫자 키로 색을 표시해 보자
(1) 어떤 프로그램을 만드는 걸까?
(2) 프로그램 확인
(3) 키가 눌렸을 때 배경색 바꾸기
(4) 문자열의 대소 관계
(5) and 사용법
(6) 문자열을 숫자로 변환하기
4-6 충돌 판정을 계산해 보자 ①-원을 이용한 계산 방법
(1) 충돌 판정
(2) 2개의 원의 거리를 구하는 식
(3) 수학식을 프로그램으로 입력하자
(4) 프로그램 확인
(5) 태그
4-7 충돌 판정을 계산해 보자 ②-사각형을 이용한 계산 방법
(1) 사각형을 이용한 충돌 판정
(2) 사각형이 겹치는 조건을 알아보자
(3) x축 방향의 거리와 y축 방향의 거리를 구해 보자
(4) 사각형이 겹치는 조건을 식으로 표현하자
(5) 절댓값을 사용해 보자
(6) 수식을 프로그램으로 입력하자
(7) 프로그램 확인
(8) 사각형을 표시하는 방법
(9) 마우스로 사각형을 움직이는 처리
(10) 충돌 판정을 하는 if문
[Chapter 5] 두더지 잡기를 만들어 보자
5-1 이 장에서 만들 게임
(1) 두더지 잡기란?
(2) 두더지 잡기를 만드는 이유
(3) 이 장에서 만들 게임의 규칙
(4) 사용할 이미지 파일
(5) 어떤 순서로 완성시킬까?
5-2 Python에서 난수를 사용해 보자
(1) random 모듈을 사용하자
(2) 난수를 발생시키는 명령
(3) 프로그램 확인
(4) 난수의 기본값
5-3 STEP 1 이미지를 불러와서 표시해 보자
(1) 이미지 파일을 불러와서 표시하기
5-4 STEP 2 배열로 5개의 구덩이를 관리하자
(1) 배열 사용하기
(2) 프로그램 확인
(3) 배열에 대입하는 값을 바꿔 보자
5-5 STEP 3 실시간 처리로 두더지가 나타나게 해 보자
(1) 실시간 처리를 추가하자
(2) 프로그램 확인
5-6 STEP 4 키 입력으로 두더지를 때려 보자
(1) 키 입력 추가
(2) 프로그램 확인
(3) 변수 key에 키 값을 대입하자
(4) 얼굴을 내민 두더지를 때려 보자
(5) 뿅망치로 때린 두더지를 구덩이로 돌아가게 해 보자
(6) 키 값의 해제
5-7 STEP 5 타이틀 화면과 게임 오버 화면을 만들어 게임을 완성시키자
(1) 화면 전환
(2) 두더지 잡기의 화면 전환
(3) 씬을 관리하는 변수를 사용해 보자
(4) 완성된 프로그램 확인
(5) 게임을 개조해 보자!
[Chapter 6] 테니스 게임을 만들어 보자
6-1 이 장에서 만들 게임
(1) 테니스 게임이란?
(2) 테니스 게임을 만드는 이유
(3) 이 장에서 만들 게임의 규칙
(4) 사용하는 이미지 파일
(5) 어떤 순서로 완성시킬까?
6-2 벡터를 배워 보자
(1) 벡터는 크기와 방향을 가진다
(2) 속력과 속도
(3) 프로그램으로 물체의 움직임을 계산하는 방법은?
(4) 공을 움직이기 위한 변수
6-3 STEP 1 배경, 공, 바를 표시해 보자
(1) 표시할 것과 표시 위치를 다루는 변수
(2) 이미지와 도형을 표시해서 게임 화면을 만들자
(3) 변수에 초기 값을 대입하자
(4) int()의 기능
(5) 이미지 불러오기와 표시
6-4 STEP 2 공이 자동으로 움직이게 해 보자
(1) 공의 속력을 대입할 변수
(2) 좌표를 변화시키는 계산
(3) 화면 끝에서 튕기게 해 보자
(4) 공이 자동으로 움직이는 프로그램
(5) 화면 끝에서 튕기게 하는 방법
(6) 전역 선언을 잊어버리지 말자
(7) 계산과 표시를 실시간으로 반복하자
(8) 물체의 운동을 표현하는 알고리즘
6-5 STEP 3 마우스의 움직임에 맞춰 바를 움직이게 해 보자
(1) 마우스 이벤트 추가
(2) 바의 좌표를 어떻게 변화시킬까?
(3) 바를 움직이는 프로그램 확인
6-6 STEP 4 바로 공이 튕기도록 만들어 보자
(1) 충돌 판정
(2) 원과 사각형의 충돌을 판정해 보자
(3) 공과 바의 충돌 판정 확인
6-7 STEP 5 점수와 하이스코어를 계산해 보자
(1) 변수에 점수를 대입하고 문자열을 표시하자
(2) 프로그램 확인
(3) text() 함수의 구조
6-8 STEP 6 타이틀 화면과 게임 오버 화면을 넣어 게임을 완성시키자
(1) 화면 전환을 관리하는 변수
(2) 완성된 프로그램 확인
(3) click() 함수
(4) 게임을 개조해 보자!
[Chapter 7] 레이싱 게임을 만들어 보자
7-1 이 장에서 만들 게임
(1) 레이싱 게임이란?
(2) 레이싱 게임을 만드는 이유
(3) 이 장에서 만들 게임의 규칙
(4) 사용하는 이미지 파일
(5) 어떤 순서로 완성시킬까?
7-2 STEP 1 배경을 스크롤하자
(1) 배경 이미지
(2) 화면을 스크롤하는 방법
(3) 배경의 스크롤 처리 확인
(4) 계속 사용하는 값을 상수로 정의하기
(5) 실시간 계산과 이미지 표시
(6) bg_y의 계산을 1줄로 입력하기
7-3 STEP 2 플레이어의 차를 조작할 수 있게 해 보자
(1) 차의 좌표를 대입할 변수
(2) 마우스를 움직였을 때 차를 이동하기
(3) 차를 움직이는 프로그램 확인
(4) 마우스 커서를 움직였을 때 좌표를 변화시키기
(5) 선분의 내분점을 구하는 식
(6) 수식을 프로그램의 식으로 만들자
(7) 마우스 커서의 좌표를 직접 대입하면…
7-4 STEP 3 적측 차량을 1대 움직여 보자
(1) 적측 차량의 좌표를 대입할 변수
(2) 적측 차량을 움직이는 프로그램의 확인
(3) 적측 차량을 움직이는 처리
7-5 STEP 4 플레이어와 적측 차량이 충돌했는지 확인해 보자
(1) 충돌 판정
(2) 프로그램 확인
(3) 충돌 판정 범위
7-6 STEP 5 적측 차량을 여러 대 움직여 보자
(1) 배열을 사용해 보자
(2) 프로그램 확인
(3) for문으로 반복해서 배열의 값을 변경하기
(4) 차의 초기 좌표를 대입하는 함수
7-7 STEP 6 타이틀 화면과 게임 오버 화면을 넣어 게임을 완성시키자
(1) 화면 전환을 관리하는 변수
(2) 점수 계산을 추가해 보자
(3) 완성된 프로그램 확인
(4) 충돌 판정과 게임 오버 화면 전환
(5) click() 함수
(6) 그 외에 추가한 내용
(7) 개조해 보자
[Chapter 8] 슈팅 게임으로 복습해 보자
8-1 이 장에서 만들 프로그램과 복습할 내용
(1) 슈팅 게임이란?
(2) 실행해 보자
(3) 사용할 이미지 파일
(4) 복습할 내용
8-2 프로그램 내용을 살펴보자
(1) galaxy_defender.py 확인
(2) 기초 지식 없이는 소프트웨어를 만들 수 없다
8-3 프로그램을 전체적으로 뜯어 보자
(1) 동작 순서
(2) 변수와 배열
(3) 정의한 함수
8-4 동작의 자세한 내용을 이해해 보자
(1) 수학 계산
(2) 2차원 배열로 적을 관리하자
(3) 이미지를 처리하는 법, 이벤트를 가져오는 법, 실시간 처리 복습
(4) 각 함수의 역할
(5) 개조해 보자
[APPENDIX A] 점프 액션 게임으로 배워 보자
A-1 게임 내용
(1) 액션 게임이란?
(2) 실행해 보자
(3) 사용하는 이미지 파일
A-2 프로그램을 살펴보자
(1) help_princess.py 확인하기
A-3 프로그램을 전체적으로 뜯어 보자
(1) 게임 플레이 시의 동작 순서
(2) 변수와 배열
(3) 정의한 함수
A-4 기능을 자세히 이해해 보자 ① 주인공의 움직임
(1) 수학 계산
(2) 주인공의 애니메이션
A-5 기능을 자세히 이해해 보자 ② 바닥과 구멍의 스크롤
(1) 배열을 사용해 바닥을 만들자
(2) 요소의 삭제와 추가를 이용해 바닥을 스크롤하자
(3) 바닥에 구멍을 배치한다
[APPENDIX B] 3D 던전 탐색 프로그램으로 배워 보자
B-1 게임 내용
(1) 3D 게임
(2) 라비린스 익스플로러의 3D 표현 방법
(3) 실행해 보자
B-2 레이캐스팅
(1) 레이캐스팅이란?
(2) 3차원 미로를 만드는 법
B-3 프로그램을 살펴보자
(1) AppendixB 폴더에 있는 py 파일
(2) 프로그램 확인 ①-labyrinth_explorer.py
(3) 프로그램 확인 ②-maze_data1.py
(4) maze_data1.py를 임포트한다
B-4 프로그램을 전체적으로 뜯어 보자
(1) 동작 순서
(2) 변수와 배열
(3) 정의한 함수
(4) 삼각 함수
B-5 동작을 자세히 알아보자
(1) maze_data1.py에서 데이터를 불러온다
(2) maze_data1.py의 함수
(3) labyrinth_explorer.py에서 정의한 함수
B-6 3차원 공간 표현 방법을 이해해 보자
(1) draw_3d_space()를 확인해 보자
(2) draw_3d_space() 함수의 매개 변수
(3) 레이캐스팅 알고리즘
(4) 벽까지의 거리를 구하는 식
(5) 거리로 벽의 높이를 정한다
(6) 벽의 왜곡을 막는 계산을 넣자
책속에서

추천도서
분야의 베스트셀러 >
분야의 신간도서 >



















