1,0×
206 просмотров · 5 месяцев назад
00:00/35:36
Описание
Сложный урок №7 курса алгоритмики. Дорабатываем Simple paint, говорим о модулях, интерфейсе и кодировании информации, решаем задачи
5 месяцев назад • 206 просмотров10 поставили "Нравится"
Сложный урок №7 курса алгоритмики. Дорабатываем Simple paint, говорим о модулях, интерфейсе и кодировании информации, решаем задачиМодуль interface_paint
from turtle import *
#функция для отрисовки квадрата заданного цвета
def draw_square(color):
ti.pendown()
ti.color('gray',color)
ti.begin_fill()
for i in range(4):
ti.forward(40)
ti.left(90)
ti.end_fill()
ti.penup()
#функция для отрисовки надписи заданного цвета и заданным отступом (отступ позволяет не задавать новые координаты для буквы, а отступить от элемента, для которого делается надпись)
def draw_symbol(symbol,indent):
ti.forward(indent)
ti.pendown()
ti.color('gray')
ti.write(symbol, font=('Arial', 12, 'normal'))
ti.penup()
def circle_t(size):
ti.pendown()
ti.begin_fill()
ti.color('gray')
ti.circle(size)
ti.end_fill()
ti.penup()
ti = Turtle()
ti.penup()
ti.speed(0)
#элементы для фона
indent = -20
ti.goto(-200,80)
draw_symbol('Фон:',5)
ti.goto(-200,30)
draw_square('black')
draw_symbol('N',-20)
ti.goto(-200,-20)
draw_square('white')
draw_symbol('D',-20)
#элементы палитры
y = 180
indent = 42
ti.goto(-190,y)
draw_square('red')
draw_symbol('R',indent)
ti.goto(-130,y)
draw_square('orange')
draw_symbol('O',indent)
ti.goto(-70,y)
draw_square('yellow')
draw_symbol('Y',indent)
ti.goto(-10,y)
draw_square('green')
draw_symbol('G',indent)
ti.goto(50,y)
draw_square('light blue')
draw_symbol('L',indent)
ti.goto(110,y)
draw_square('blue')
draw_symbol('B',indent)
ti.goto(170,y)
draw_square('violet')
draw_symbol('V',indent)
#элементы толщины пера
x = 200
y = 150
indent = 30
ti.goto(x,140)
circle_t(5)
draw_symbol('1',indent)
ti.goto(x,100)
circle_t(10)
draw_symbol('2',indent)
ti.goto(x,53)
circle_t(15)
draw_symbol('3',indent)
ti.goto(x,0)
circle_t(20)
draw_symbol('4',indent)
ti.goto(x,-60)
circle_t(25)
draw_symbol('5',indent)
print("Перемещение вверх, вниз, вправо, влево с помощью стрелок клавиатуры.")
ti.ht()
Основная программа
from turtle import *
from interface_paint import *
v = 0 #максимальная скорость черепашки
step = 10 #шаг
t = Turtle()
t.color('black')
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 setOrange():
t.color('orange')
def setYellow():
t.color('yellow')
def setLightBlue():
t.color('light blue')
def setViolet():
t.color('violet')
def setWidth_1():
t.width(5)
def setWidth_2():
t.width(10)
def setWidth_3():
t.width(18)
def setWidth_4():
t.width(25)
def setWidth_5():
t.width(35)
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()
def background_black():
scr.bgcolor('black')
def background_white():
scr.bgcolor('white')
t.ondrag(draw)
scr = t.getscreen()
scr.onscreenclick(move)
scr.onkey(setRed,'r')
scr.onkey(setGreen,'g')
scr.onkey(setBlue,'b')
scr.onkey(setOrange,'o')
scr.onkey(setYellow,'y')
scr.onkey(setLightBlue,'l')
scr.onkey(setViolet,'v')
scr.onkey(setWidth_1,'1')
scr.onkey(setWidth_2,'2')
scr.onkey(setWidth_3,'3')
scr.onkey(setWidth_4,'4')
scr.onkey(setWidth_5,'5')
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(background_black,'n')
scr.onkey(background_white,'d')
scr.listen()
Код Будущего. Разжевывание и помощь
Подборка ·
Информатика в школе и дома: ОГЭ, ЕГЭ и ДэРэ
· 22 из 40Далее: Урок 8 модуля 3. ООП, классы. Программируем в Python текстовый квест, говоря о классах, методах и функциях. Сложный, но интересный урок
Код Будущего. Разжевывание и помощь · 22 из 40