리스트를 사용해 터틀 그래픽 응용프로그램을 만들어 보자. 거북이 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 |