vladimir_vl_vlad ну вы же линейно задаете через цикл координаты, вот и получаете. В идеале вам нужно для каждой снежинки отдельно задавать координаты и скорость падения, и потом в цикле менять координаты согласно скорости.
Вот ваш вариант с костылями:
import simple_draw as sd
def snowfall():
y_offset =(10, -20, 40, 5, -40, 0 )
for y in range(480,-20,-5):
sd.clear_screen()
i=0
for x in range(10,200,36):
point_0=sd.get_point(x,y+y_offset[i])
i+=1
sd.snowflake(center=point_0, length=15, color=sd.COLOR_WHITE, factor_a=0.6, factor_b=0.35, factor_c=60)
sd.sleep(0.05)
snowfall()
вот так уже будет лучше.
import simple_draw as sd
from random import randint
def snowfall():
snowflakes = [[i*36, randint(440,500), randint(2,5)] for i in range(10) ]
# snowflakes списко из снежинок. Снежинка тоже список, где первый индекс х, второй y, а третий скорость падения.
while True:
sd.clear_screen()
for snow_item in snowflakes:
snow_item[1] = snow_item[1] - snow_item[2]
point_0=sd.get_point(snow_item[0], snow_item[1])
sd.snowflake(center=point_0, length=15, color=sd.COLOR_WHITE, factor_a=0.6, factor_b=0.35, factor_c=60)
sd.sleep(0.05)
snowfall()