import turtle
import random as rnd
import time
def starFILL(n, dlina):
main.begin_fill()
if n % 2 != 0:
for i in range(n):
main.forward(dlina)
angle = n // 2 * 360 / n
main.left(angle)
main.end_fill()
window = turtle.Screen()
window.bgcolor('black')
window.setup(1920, 1080)
main = turtle.Turtle()
main.speed(0)
main.color('yellow')
center = (0, 0)
N = 1000
stars = []
for i in range(N):
dx = rnd.randint(-5, 5) #на сколько пикселей по горизонтали сдвинется звезда за шаг
dy = rnd.randint(-5, 5) #на сколько пикселей по вертикали сдвинется звезда за шаг
n_beam = rnd.choice([5,7,9,11,13,15,17]) #сколько лучей у звезды
size = rnd.randint(5, 20) #размер звезды
star = (dx, dy, n_beam, size) #описание звезды
stars.append(star) #добавляем звезду в массив звёзд'
for step in range(100): #сколько кадров анимации сделать
turtle.clear() #тут нужно очистить экран
for star in stars: #перебираем звезды
# определяем координаты центра звезды на этом шаге
pos_x = center[0] + step * star[0]
pos_y = center[1] + step * star[1]
# позиционируем черепашку
main.up()
main.setposition(pos_x + 5,pos_y + 5)
main.down()
# рисуем звезду
starFILL(star[1], star[2])
time.sleep(1.0)
time.sleep(5)
Что касается поворотов, я задаю команду, он выполняет ее не сразу, для того чтобы он ее выполнил мне нужно выключить питание и подать его обратно, и если делать так много раз, то всегда будет выполняться предыдущая команда.