"""
[과제 1] 함수를 활용한 프로그램 코드 제작
주제: 회전하는 정사각형 패턴 만들기

학습 목표
- 매개변수를 가진 함수를 정의할 수 있다.
- return을 이용하여 계산한 값을 돌려줄 수 있다.
- 여러 함수를 조합하여 하나의 프로그램을 만들 수 있다.
"""

import turtle

s = turtle.Screen()
s.setup(650, 800)

t = turtle.Turtle()
t.speed(3)


# ===========================================================
# 문제 1. 매개변수 여러 개 + 기본값
# 정사각형 한 개를 그리는 함수
# draw_square(size, color='blue') 를 완성하세요.
#
#   size  : 정사각형 한 변의 길이
#   color : 선의 색깔 (기본값 'blue')
#
# 조건
# - 반복문을 사용하세요.
# - 정사각형을 모두 그린 뒤에는 시작 방향으로 돌아와야 합니다.
# ===========================================================
def draw_square(size, color='blue'):
    # TODO: 색깔을 설정하고 정사각형 한 개를 그리는 코드를 작성하세요.
    pass


# ===========================================================
# 문제 2. return 활용
# 정사각형을 n개 회전하며 배치할 때 필요한 회전각을 계산하여
# return 하는 함수 get_angle(n)을 완성하세요.
#
# 예)
# get_angle(4) -> 90
# get_angle(6) -> 60
#
# 힌트: 한 바퀴는 360도입니다.
# ===========================================================
def get_angle(n):
    # TODO: 회전각을 계산해서 return 하세요.
    pass


# ===========================================================
# 문제 3. 함수 조합
# draw_square()와 get_angle()을 이용하여
# 전체 패턴을 그리는 함수 draw_pattern()을 완성하세요.
#
# 동작 순서
# 1. get_angle(n)으로 회전각을 구합니다.
# 2. 정사각형 한 개를 그립니다.
# 3. 계산한 각도만큼 회전합니다.
# 4. 위 과정을 n번 반복합니다.
# ===========================================================
def draw_pattern(n, size, color='blue'):
    # TODO: get_angle()과 draw_square()를 활용하세요.
    pass


# ===========================================================
# 아래 코드는 수정하지 않아도 됩니다.
# 위의 함수 3개를 완성하면 사용자가 입력한 조건에 따라
# 회전하는 정사각형 패턴이 그려집니다.
# ===========================================================

n = int(input("정사각형을 몇 개 그릴까요? "))
size = int(input("한 변의 길이를 입력하세요: "))
color = input("색깔을 입력하세요: ")

draw_pattern(n, size, color)

s.mainloop()


# ===========================================================
# [도전 과제]
#
# 1. 정사각형을 그릴 때마다 크기가 조금씩 커지도록 수정해 보세요.
#    예: 40 -> 50 -> 60 -> 70 -> ...
#
# 2. get_color(n) 함수를 추가하여 정사각형 개수에 따라
#    다른 색깔을 return하도록 만들어 보세요.
#
#    예)
#    n이 4 이하  -> "red"
#    n이 8 이하  -> "blue"
#    그 외       -> "purple"
# ===========================================================
