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()