본문 바로가기

프로그램언어/파이썬

거북이 리스트 활용

리스트를 사용해 터틀 그래픽 응용프로그램을 만들어 보자. 거북이 100마리의 리스트를 만든 후 거북이 100마리가 화면 중앙에서 임의의 위치로 차례대로 움직이게 할 것이다. 거북이 1마리의 1차원 리스트를 다음과 같이 값이 7개 있는 형태로 구성할 것이다. 거북이는 화면 중앙(0, 0)에서 지정된 위치(X, Y)까지 선을 그리고 이동하고 크기와 색상을 지정하는데 X, Y, 크기, 색상은 모두 임의의 값으로 추출할 것이다.

1차원 리스트 : [거북이, X위치,  Y위치, 거북이크기, 거북이색상(R), 거북이색상(G), 거북이색상(B)]

2차원 리스트 : 1차원 리스트를 100개 생성

 

 

소스코드

import turtle

import random

 

## 전역 변수 부분 ##

swidth, sheight = 500, 500

myTurtle, tX, tY, tColor, tSize, tShape = [None] * 6

shapeList= []

playerTurtles = [] #거북이 2차원 리스트

 

## 메인 함수 부분 ##

if __name__ == "__main__" :

    turtle.title('거북이 리스트 활용')

    turtle.shape('turtle')

    turtle.setup(width = swidth + 50, height = sheight + 50)

    turtle.screensize(swidth, sheight)

 

    shapeList = turtle.getshapes()  ## getshapes() : 현재 사용 가능한 모든 거북이 모양의 이름 목록을 반환

    for i in range(1, 100) :

        random.shuffle(shapeList)   ## shuffle(shapeList) : shapeList항목을 섞어놓는 함수

        myTurtle = turtle.Turtle(shapeList[0])

        tX = random.randrange(-swidth / 2, swidth / 2)

        tY = random.randrange(-sheight / 2, sheight / 2)

        r = random.random(); g = random.random(); b = random.random()

        tSize = random.randrange(1, 3)

        playerTurtles.append([myTurtle, tX, tY, tSize, r, g, b])  ## append() : 리스트 맨 뒤에 항목을 추가

 

    for tList in playerTurtles :

        myTurtle = tList[0]

        myTurtle.color((tList[4],tList[5],tList[6]))

        myTurtle.pencolor((tList[4],tList[5],tList[6]))

        myTurtle.turtlesize(tList[3])

        myTurtle.goto(tList[1], tList[2])

 

turtle.done()

'프로그램언어 > 파이썬' 카테고리의 다른 글

거북이 글자쓰기  (0) 2020.06.03
거북이 리스트 활용 정렬  (0) 2020.06.03
거북이로 구구단 출력하기  (0) 2020.06.03
거북이 소라 모양 그리기  (0) 2020.06.02
거북이가 서로 만나게 하기  (0) 2020.06.02