코드예시👨🏻‍💻▶️ 파이썬

파이썬 터틀 그래픽 (turtle graphics) 펜 및 거북이 색깔 랜덤 변경

코뮤니티 2020. 10. 21. 17:05

문제 내용

1. 터틀이 외부로 나갈 때 마다 터틀 컬러가 빨주노초파남보 순서대로 변하게 하기

2. 펜 컬러 랜덤으로 변하기

 

 

문제 풀이

import random
import turtle

swidth, sheight, pSize, exitCount = 300, 300, 3, 0
r, g, b, angle, dist, curX, curY = [0] * 7

turtle.title('거북이가 맘대로 다니기')
turtle.shape('turtle')
turtle.pensize(pSize)
turtle.setup(width=swidth+30, height=sheight+30)
turtle.screensize(swidth, sheight)
colors = ['red', 'orange', 'yellow', 'green', 'blue', 'navyblue', 'purple']

# 터틀 색깔의 고유번호 변수입니다. 0번 빨강부터 시작합니다. ex: 0번 red, 1번 orange, ... , 6번 purple
color_index = 0 

# 거북이가 외부로 나가면 색깔의 고유번호 color_index에 1씩 증가시켜 색깔을 바꿔줍니다.
while True :
    r = random.random()
    g = random.random()
    b = random.random()
    turtle.pencolor((r, g, b))

	# turtle의 색깔을 0번 red부터 시작합니다.
    turtle.fillcolor(colors[color_index])  
    
    angle = random.randrange(0,360)
    dist = random.randrange(1,100)
    turtle.left(angle)
    turtle.forward(dist)
    curX = turtle.xcor()
    curY = turtle.ycor()

    if (-swidth / 2 <= curX and curX <= swidth / 2) and (-sheight / 2<= curY and curY <= sheight / 2) :
        pass
    
    else :
        turtle.penup()
        turtle.goto( 0, 0 )
        turtle.pendown()
        
        # 거북이가 외부로 나가면 color_index를 1 증가시켜줍니다. 
        color_index += 1   
        # 따라서 다음 번호의 색깔을 사용하게 됩니다.    
        exitCount += 1
        
        if exitCount >= 7 :  # 빨주노초파남보 모두 그리고 나면 종료합니다.
            break

turtle.done()

 

 

코드 결과


 

 

나와 어울리는 개발자 유형 찾기

MBTI로 알아보는 개발자 유형 내 안의 개발자를 찾아서...⭐

comu.codeuniv.kr

참고

 

터틀컬러 순서대로 변하기

대한민국 모임의 시작, 네이버 카페

cafe.naver.com