Turtle Game 1 - Turtle 모듈 사용하기 > Turtle 모듈로 게임 만들기

본문 바로가기
사이트 내 전체검색

회원로그인

올서베이넷
무료 온라인 설문 사이트
OVITII
웹 프레젠테이션 도구

Turtle 모듈로 게임 만들기

Turtle Game 1 - Turtle 모듈 사용하기

페이지정보

글쓴이 관리자 조회 55,258 조회 날짜 19-06-18 23:39 / Update:19-10-31 13:34
댓글 0 댓글

SNS 공유

  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기

내용

Turtle 모듈 사용하기

 

Turtle은 그래픽 환경에서 프로그래밍을 쉽게 배울 수 있도록 파이썬에서 제공하는 모듈이다. Turtle 모듈의 몇 가지 메서드를 익혀서 사용하면 간단하게 게임을 만들 수 있다.

 

기본적으로 사각형, 삼각형, 거북이 모양의 Shape를 이용하여 앞으로, 뒤로 가는 등의 동작을 만들 수 있고, Shape의 이동 궤적을 선으로 그려줌으로써 다양항 도형등을 만들어 낼 수 있다.

 

Turtle 모듈의 문서는 아래의 링크에서 모두 확인 할 수 있다.

 

https://docs.python.org/3.7/library/turtle.html

 

본 강좌에서 사용하는 Turtle Game의 내용은 아래의 유튜브 강좌를 참고하였으며, 본 강좌에서 몇 개의 기능을 추가하였다.

영상으로 보고자하면 아래의 링크에서 강좌를 따라가면 된다. 참고로 영어로 된 강좌이나 코드를 보면 쉽게 이해가능 할 것이다.

 

https://www.youtube.com/watch?v=PTgyzZGknvg

 

 

 

 

Turtle Game 만들기 1

 

Turtle 모듈을 사용하기 위해서는 turtle 모듈을 import 하기만 하면된다.

 

아래의 코드를 통해서 간단히 turtle 모듈을 실행해본다.

 

import turtle as t

 

screen = t.Screen()

 

p= t.Turtle()
p.shape("turtle")

 

screen.mainloop()

 

위의 코드를 입력하고 Ctrl + F11을 눌러 실행하면 아래의 그래픽 화면이 나타나게 된다.

 

1269734546_1560919768.1073.png

 

 

 

코드 설명

 

>> import turtle as t

 

turtle 모듈을 t 라는 이름으로 import 한다.

 

>> screen = t.Screen()

 

t 모듈의 Screen() 객체를 통해 전체 화면을 제어하는 객체를 생성한다.

Screen() 객체는 화면의 크기, 배경색, 키보드 입출력 이벤트등을 관리한다.

 

 

>> p = t.Turtle()
>> p.shape("turtle")

 

t 모듈의 Turtle() 객체를 이용하여 turtle을 생성한다. Turtle 객체는 모양, 모션, 펜, 상태등을 관리한다.

 

Turtle() 객체를 통해 생성된 객체를 p에 저장하고 나서, p의 모양(shape)을 "turtle"로 설정해준다.

 

모양(shape)은 다음 7개를 설정해 줄 수 있다. shape()에 아무값도 넣지 않은 default 는 "classic" 이다.

 

"arrow"

"blank"

"circle"

"classic"

"square"

"triangle"

"turtle"

 

>> screen.mainloop()

 

메인 화면을 유지시켜주는 역할을 한다. 파이썬의 command prompt는 실행이 모두 되고나면 기본적으로 화면이 꺼진다.

따라서 코드대로 모두 실행후에 화면이 꺼지기 때문에 메인화면을 반복적으로 실행시켜 화면이 꺼지지 않게 한다.

이후에 다른 코드를 넣고나서 mainloop()가 필요없어질 때 위 코드는 삭제나 주석처리를 하도록 한다.

 

 

1. 화면 배경색, 거북이 색상 변경

 

위의 코드를 이해했으면, 화면의 배경색, 거북이의 색상등을 변경하는 코드를 추가한다. 

코드에 대한 설명은 주석으로 대신한다.

 

import turtle as t

 

#스크린 객체 생성
screen = t.Screen()
#스크린 배경색 지정
screen.bgcolor("lightgreen")

 

#Turtle 객체 p 생성
p = t.Turtle()
#p 객체의 모양을 거북이로 만들기
p.shape('turtle')
#p 객체 크기 설정
p.turtlesize(2,2)
#p 객체 색상 설정, 
#색상은 색상 이름 또는 색상 코드(#FFFFFF) 등을 이용하여 설정 할 수 있다.
p.color("blue")


screen.mainloop()

 

 

실행 결과

- 화면 배경색 lightgreen

- 거북이 크기 2

- 거북이 색상 blue

1269734546_1560921174.9415.png

 

 

2. 거북이 움직임 생성

 

우리는 거북이를 이용하여 게임을 만들기로 했으므로 정적인 거북이를 동적으로 만들어야 한다.

 

생성된 거북이를 지속적으로 움직이게 만드는 코드를 넣기 위하여 아래의 코드를 추가한다.

 

while True:

    p.forward(1)

 

생성된 p 객체를 앞으로 움직이게 만드는 메서드는 forward()이다. 

while 구문을 이용하여 거북이를 앞으로 계속 움직이게 만든다.

while 구문에 의하여 메인화면이 지속적으로 유지되므로 screen.mainloop() 코드는 주석처리나 삭제를 해도 된다.

 

수정된 코드

import turtle as t

 

#스크린 객체 생성
screen = t.Screen()
#스크린 배경색 지정
screen.bgcolor("lightgreen")

 

#Turtle 객체 p 생성
p = t.Turtle()
#p 객체의 모양을 거북이로 만들기
p.shape('turtle')
#p 객체 크기 설정
p.turtlesize(2,2)
#p 객체 색상 설정, 
#색상은 색상 이름 또는 색상 코드(#FFFFFF) 등을 이용하여 설정 할 수 있다.
p.color("blue")

 

while True:
    p.forward(1)


#screen.mainloop()

 

실행 결과

1269734546_1560921636.6662.png

 

실행을 하고 나면 거북이는 앞으로 계속 1칸씩 움직이게 된다. 그리고 화면 밖으로 벗어날 것이다.

 

거북이의 움직임은 다음에 제어하도록 하고, 우선은 거북이가 움직일때마다 따라나오는 선을 없애보도록 한다.

 

Turtle 모듈에서 생성된 객체는 기본적으로 자신의 움직임을 선으로 그리게 된다.

선은 pen 메서드로 제어하며,  아래와 같이 사용할 수 있다.

 

pendown() - 선 그리기, 기본값

penup()  - 선 그리지 않기

pensize() - 선 크기

pencolor() - 선 색상

 

선을 그리거나, 안 그리는 것은 우리가 글씨를 쓸 때 펜을 종이에 붙이는 개념으로 이해하면 된다.

따라서 pendown()은 종이에 펜을 대는 것이기 때문에 선이 그려지고,

penup()은 펜을 종이에서 떼는 것이기 때문에 선을 그리지 않는다. 

따라서 p 객체에 penup() 메서드를 추가한다.

 

p.penup()

 

그리고 차후에 거북이의 속도를 제어하기 위해서 속도를 speed 변수를 이용하여 앞으로 가는 거리, 즉 forward() 값을 제어한다.

 

전체 코드

import turtle as t

 

#스크린 객체 생성
screen = t.Screen()
#스크린 배경색 지정
screen.bgcolor("lightgreen")

 

#Turtle 객체 p 생성
p = t.Turtle()
#p 객체의 모양을 거북이로 만들기
p.shape('turtle')
#p 객체 크기 설정
p.turtlesize(2,2)
#p 객체 색상 설정, 
#색상은 색상 이름 또는 색상 코드(#FFFFFF) 등을 이용하여 설정 할 수 있다.
p.color("blue")

#거북이를 따라다니는 선을 제거
p.penup()

 

#거북이의 움직임 속도
speed = 1

 

while True:
    p.forward(speed)


#screen.mainloop()

 

 

실행 결과

1269734546_1560922647.4017.png

 

 

 

Turtle Game 1 - Turtle 모듈 사용하기 끝

 

댓글목록 sfs

총 9 건 , 1 페이지
게시물 검색
Turtle 모듈로 게임 만들기 목록
번호 제목 글쓴이 조회 날짜
열람중 관리자 55259 06-18
2 관리자 52415 06-19
3 관리자 43145 06-19
4 관리자 41368 06-19
5 관리자 39041 06-21
6 관리자 39393 06-21
7 관리자 44701 06-21
8 관리자 42451 06-21
9 관리자 34031 06-21
GNUBOARD_M
Copyright © JBMPA.com All rights reserved.