Загрузка данных


from turtle import *

v = 0 # максимальная скорость черепашки
step = 15 # шаг

t = Turtle()
t.color('blue')
t.width(5)
t.shape('circle')
t.pendown()
t.speed(v)

# --- Функции рисования и движения (ваши исходные) ---
def draw(x, y):
    t.goto(x, y)

def move(x, y):
    t.penup()
    t.goto(x, y)
    t.pendown()

def setRed():
    t.color('red')

def setGreen():
    t.color('green')

def setBlue():
    t.color('blue')

def stepUp():
    t.goto(t.xcor(), t.ycor() + step)

def stepDown():
    t.goto(t.xcor(), t.ycor() - step)

def stepLeft():
    t.goto(t.xcor() - step, t.ycor())

def stepRight():
    t.goto(t.xcor() + step, t.ycor())

def startFill():
    t.begin_fill()

def endFill():
    t.end_fill()

# --- НОВЫЕ ФУНКЦИИ ПО ЗАДАНИЮ ---

# 1. Возможность выбирать цветовую тему (меняем фон)
def setBgWhite():
    t.getscreen().bgcolor("white")

def setBgBlack():
    t.getscreen().bgcolor("black")

def setBgYellow():
    t.getscreen().bgcolor("yellow")

# 2. Возможность изменять ширину пера
def changeWidth():
    # Увеличиваем текущую ширину пера на 1
    current_width = t.width()
    t.width(current_width + 1)

# --- Привязка событий ---
t.ondrag(draw)

scr = t.getscreen()
scr.onscreenclick(move)

# Цвета пера
scr.onkey(setRed, 'r')
scr.onkey(setGreen, 'g')
scr.onkey(setBlue, 'b')

# Движение стрелками
scr.onkey(stepUp, 'Up')
scr.onkey(stepDown, 'Down')
scr.onkey(stepLeft, 'Left')
scr.onkey(stepRight, 'Right')

# Заливка
scr.onkey(startFill, 'f')
scr.onkey(endFill, 'e')

# Новые привязки по заданию
scr.onkey(setBgWhite, '1') # Нажми 1 - белый фон
scr.onkey(setBgBlack, '2') # Нажми 2 - черный фон
scr.onkey(setBgYellow, '3') # Нажми 3 - желтый фон
scr.onkey(changeWidth, 'w') # Нажми w - увеличить толщину пера

scr.listen()