Esempio n. 1
1
def main():
    points = [Point(x=230, y=450), Point(x=240, y=460), Point(x=230, y=470), Point(x=240, y=480)]
    polygon(point_list=points)
    points2 = [Point(p.x + 20, p.y + 20) for p in points]
    lines(point_list=points2, color=COLOR_DARK_ORANGE)
    line(start_point=Point(x=20, y=20), end_point=Point(x=40, y=300))
    square(left_bottom=Point(400, 300, ), side=100)
    rectangle(
        left_bottom=Point(x=200, y=200),
        right_top=Point(x=300, y=300),
        color=COLOR_DARK_GREEN
    )
    rectangle(
        left_bottom=Point(x=400, y=300),
        right_top=Point(x=300, y=400),
        color=COLOR_DARK_GREEN
    )
    sleep(2)
    clear_screen()
    vector(start=Point(x=230, y=260), angle=70, length=200, color=COLOR_PURPLE)
    for i in range(10):
        point = random_point()
        color = random_color()
        radius = random_number(20, 60)
        circle(center_position=point, radius=radius, color=color, width=0)
    sleep(2)
    clear_screen()
    for i in range(10):
        point = random_point()
        color = random_color()
        dx = random_number(30, 100)
        dy = random_number(30, 100)
        right_top = Point(x=point.x + dx, y=point.y + dy)
        ellipse(left_bottom=point, right_top=right_top, color=color)
    v3 = Vector(start_point=Point(0, 0), direction=45, length=50)
    for direction in range(0, 181, 20):
        v = Vector(start_point=Point(x=300, y=300), direction=direction, length=100)
        v.draw()
        v2 = Vector(start_point=v.end_point, direction=direction + 30, length=50)
        v2.draw(color=COLOR_GREEN)
        v2.add(v3)
        v2.draw(color=COLOR_ORANGE)
    snowflake(center=Point(), length=60, factor_b=0.2, factor_c=100)
    sleep(2)
    for k in range(2):
        y = 500
        for i in range(10):
            clear_screen()
            y -= 30
            for x in [100, 200, 300, 400, 500]:
                radius = random_number(30, 50)
                point = Point(x=x, y=y)
                snowflake(center=point, length=radius)
                mouse_point, mouse_buttons = get_mouse_state()
                print("mouse_state is {} + {}".format(mouse_point, mouse_buttons))
            if user_want_exit(sleep_time=0.1):
                break
        if user_want_exit(0):
            break
Esempio n. 2
0
 def __init__(self):
     self.length = sd.random_number(10, 101)
     self.x = sd.random_number(0, sd.resolution[0])
     self.y = sd.randint(sd.resolution[1] - 100, sd.resolution[1] + 100)
     self.factor_a = sd.random_number(10, 100) / 100
     self.factor_b = sd.random_number(10, 100) / 100
     self.factor_c = sd.random_number(10, 100)
Esempio n. 3
0
 def move(self):
     if self.x > 250:
         self.x += sd.random_number(-14, 12)
         self.y -= sd.random_number(4, 21)
     else:
         self.x += sd.random_number(-6, 18)
         self.y -= sd.random_number(4, 21)
Esempio n. 4
0
def draw_bunches(start_point, angle1, length, count_color_tree):
    if length < 5:
        return
    if count_color_tree < 5:
        v1 = sd.get_vector(start_point=start_point,
                           angle=angle1,
                           length=length)
        v1.draw(color=sd.COLOR_PURPLE, width=2)
        v1.draw()
    else:
        v1 = sd.get_vector(start_point=start_point,
                           angle=angle1,
                           length=length)
        v1.draw(color=sd.COLOR_GREEN, width=2)
        v1.draw()

    next_count_color_tree = count_color_tree + 1
    next_point = v1.end_point
    next_angle1 = angle1 - sd.random_number(30 - 30 * .4, 30 + 30 * .4)
    next_length = length * random.uniform(.75 - .75 * .2, .75 + .75 * .2)
    draw_bunches(start_point=next_point,
                 angle1=next_angle1,
                 length=next_length,
                 count_color_tree=next_count_color_tree)
    next_point = v1.end_point
    next_angle1 = angle1 + sd.random_number(30 - 30 * .4, 30 + 30 * .4)
    next_length = length * random.uniform(.75 - .75 * .2, .75 + .75 * .2)
    draw_bunches(start_point=next_point,
                 angle1=next_angle1,
                 length=next_length,
                 count_color_tree=next_count_color_tree)
Esempio n. 5
0
def leaves_fall(x_coordinates, y_coordinates, endpoint_of_laves_fall):
    sd.start_drawing()
    for index, x in enumerate(x_coordinates):
        if y_coordinates[index] > endpoint_of_laves_fall:
            # Назначаю рандомное значение падения и отклонения на каждом шагу
            random_step_x = sd.random_number(-30, 30)
            random_step_y = sd.random_number(5, 15)
            # Создаю точку и рисую снежинку цветом фона
            left_bottom_point = sd.get_point(x_coordinates[index],
                                             y_coordinates[index])
            right_top_point = sd.get_point(x_coordinates[index] + 3,
                                           y_coordinates[index] + 3)
            sd.ellipse(left_bottom=left_bottom_point,
                       right_top=right_top_point,
                       color=sd.background_color)
            # Изменяю координаты
            x_coordinates[index] += random_step_x
            y_coordinates[index] -= random_step_y
            # Создаю точку и рисую лист
            left_bottom_point = sd.get_point(x_coordinates[index],
                                             y_coordinates[index])
            right_top_point = sd.get_point(x_coordinates[index] + 3,
                                           y_coordinates[index] + 3)
            sd.ellipse(left_bottom=left_bottom_point,
                       right_top=right_top_point,
                       color=sd.COLOR_DARK_RED)
    sd.finish_drawing()
Esempio n. 6
0
def tree_with_leaves_draw(point, angle, length, width, list_of_endpoints):
    color = sd.COLOR_DARK_ORANGE
    delta_angle1 = sd.random_number(18, 42)
    delta_angle2 = sd.random_number(18, 42)
    delta_length1 = (sd.random_number(60, 90)) * 0.01
    delta_length2 = (sd.random_number(60, 90)) * 0.01
    if length < 2:
        list_of_endpoints.append([point.x, point.y])
        return
    if length < 8:
        color = sd.COLOR_DARK_GREEN
    branch1 = sd.get_vector(start_point=point,
                            angle=angle,
                            length=length,
                            width=width)
    next_angle1 = angle + delta_angle1
    next_angle2 = angle - delta_angle2
    next_length1 = length * delta_length1
    next_length2 = length * delta_length2
    branch1.draw(color=color)
    tree_with_leaves_draw(point=branch1.end_point,
                          angle=next_angle1,
                          length=next_length1,
                          width=int(width),
                          list_of_endpoints=list_of_endpoints)
    tree_with_leaves_draw(point=branch1.end_point,
                          angle=next_angle2,
                          length=next_length2,
                          width=int(width),
                          list_of_endpoints=list_of_endpoints)
    return list_of_endpoints
Esempio n. 7
0
def snowflakes():
    global height_snow

    for i in range(N):
        x = snowflake_points[i][0]
        y = snowflake_points[i][1]
        length = snowflake_points[i][2]
        point = sd.get_point(x, y)
        factor_a = snowflake_points[i][3]
        factor_b = snowflake_points[i][4]
        factor_c = snowflake_points[i][5]
        sd.snowflake(point,
                     length,
                     color=sd.background_color,
                     factor_a=factor_a,
                     factor_b=factor_b,
                     factor_c=factor_c)
        y -= sd.random_number(0, 3)
        x += sd.random_number(-5, 5)
        snowflake_points[i] = [x, y, length, factor_a, factor_b, factor_c]
        if y < height_snow:
            snowflake_points[i][1] = sd.random_number(550, 600)
            height_snow += .5
        point = sd.get_point(x, y)
        sd.snowflake(point,
                     length,
                     factor_a=factor_a,
                     factor_b=factor_b,
                     factor_c=factor_c)
Esempio n. 8
0
def draw_branches_rand(start_point, angle, length):
    if length < 5:
        return
    v1 = sd.get_vector(start_point=start_point,
                       angle=angle + sd.random_number(15, 25),
                       length=length,
                       width=1)
    v2 = sd.get_vector(start_point=start_point,
                       angle=angle - sd.random_number(15, 25),
                       length=length,
                       width=1)
    v1.draw()
    v2.draw()
    next_point1 = v1.end_point
    next_point2 = v2.end_point
    next_angle1 = angle + sd.random_number(15, 25)
    next_angle2 = angle - sd.random_number(15, 25)
    random_number = rand.random()
    if random_number < 0.25:
        next_length = length * (0.72 + random_number)
    elif random_number > 0.75:
        next_length = length * (0.9 * random_number)
    else:
        next_length = length * 0.6

    draw_branches_rand(start_point=next_point1,
                       angle=next_angle1,
                       length=next_length)
    draw_branches_rand(start_point=next_point2,
                       angle=next_angle2,
                       length=next_length)
Esempio n. 9
0
def draw_branches(point, angle, length):
    if length < 10:
        return

    random_with = sd.random_number(1, 3)
    random_angle = sd.random_number(-12, 12)
    angle_1 = angle + 30 + random_angle
    v1 = sd.get_vector(start_point=point,
                       angle=angle_1,
                       length=length,
                       width=random_with)
    v1.draw()
    angle_2 = angle - 30 + random_angle
    v2 = sd.get_vector(start_point=point,
                       angle=angle_2,
                       length=length,
                       width=random_with)
    v2.draw()

    random_length = sd.random_number(-15, 15) / 100
    draw_branches(point=v1.end_point,
                  angle=angle_1,
                  length=length * (.75 + random_length))
    draw_branches(point=v2.end_point,
                  angle=angle_2,
                  length=length * (.75 + random_length))
Esempio n. 10
0
def snow(y_drop):
    drift = 5

    sd.start_drawing()

    for snowflake in range(N):
        point = sd.get_point(x_coordinates_list[snowflake],
                             y_coordinates_list[snowflake])
        sd.snowflake(center=point,
                     length=length_list[snowflake],
                     color=sd.background_color)
        if y_coordinates_list[snowflake] > drift and x_coordinates_list[
                snowflake] < 300:
            y_coordinates_list[snowflake] -= y_drop
            random_vector = sd.random_number(-8, 8)
            if length_list[snowflake] < 35:
                x_coordinates_list[snowflake] = x_coordinates_list[
                    snowflake] + random_vector * 1.4
            else:
                x_coordinates_list[
                    snowflake] = x_coordinates_list[snowflake] + random_vector
            point_new = sd.get_point(x_coordinates_list[snowflake],
                                     y_coordinates_list[snowflake])
            sd.snowflake(center=point_new, length=length_list[snowflake])
        else:
            sd.snowflake(center=point, length=length_list[snowflake])
            x_coordinates_list[snowflake] = sd.random_number(30, 200)
            y_coordinates_list[snowflake] = sd.random_number(500, 900)
            length_list[snowflake] = sd.random_number(1, 10)
            drift += 0.1

    sd.finish_drawing()

    sd.sleep(0.02)
Esempio n. 11
0
def draw_branches(start_point, angle, length, delta):
    if length < 4:
        return
    v1 = sd.get_vector(
        start_point,
        angle=angle,
        length=length,
    )
    v1.draw()
    next_point = v1.end_point
    x = int(30 / 100 * 40)
    y = int(length / 100 * 20)
    length = sd.random_number(length - y, length + y)
    delta = sd.random_number(delta - x, delta + x)
    next_length = int(0.75 * length)
    draw_branches(
        start_point=next_point,
        angle=angle + delta,
        length=next_length,
        delta=delta,
    )
    draw_branches(
        start_point=next_point,
        angle=angle - delta,
        length=next_length,
        delta=delta,
    )
Esempio n. 12
0
def create_snowflakes(quantity=20,
                      resolution=(1200, 600),
                      len_beam_min_max=(15, 35)):

    global quantity_snow_flakes, center_and_beams_snowflakes, lst_factor
    count_create = quantity
    quantity_snow_flakes += quantity
    coord_x = (-100, resolution[0] + 100)
    coord_y = (resolution[1] + 70, resolution[1] * 2)

    for i in range(count_create):
        coord_center_len_beam = []
        x = sd.random_number(coord_x[0], coord_x[1])
        y = sd.random_number(coord_y[0], coord_y[1])
        len_beam = sd.random_number(len_beam_min_max[0], len_beam_min_max[1])
        factor_a = rd.choice(lst_factor[0])
        factor_b = rd.choice(lst_factor[1])
        factor_c = rd.choice(lst_factor[2])
        coord_center_len_beam.append(x)
        coord_center_len_beam.append(y)
        coord_center_len_beam.append(len_beam)
        coord_center_len_beam.append(factor_a)
        coord_center_len_beam.append(factor_b)
        coord_center_len_beam.append(factor_c)
        center_and_beams_snowflakes.append(coord_center_len_beam)
    print("Снежинок стало", quantity_snow_flakes)
    return quantity_snow_flakes
Esempio n. 13
0
def create_snowflakes_pos(quantity=20,
                          position_add=0,
                          resolution=(1200, 600),
                          len_beam_min_max=(15, 20)):
    global quantity_snow_flakes, center_and_beams_snowflakes, lst_factor
    count_create = quantity
    coord_x = (-100, resolution[0] + 100)
    coord_y = (resolution[1] + 70, resolution[1] * 2)
    if quantity != 1:
        quantity_snow_flakes = quantity
    else:
        quantity_snow_flakes += 1
    for i in range(count_create):
        coord_center_len_beam = []
        x = sd.random_number(coord_x[0], coord_x[1])
        y = sd.random_number(coord_y[0], coord_y[1])
        len_beam = sd.random_number(len_beam_min_max[0], len_beam_min_max[1])
        factor_a = rd.choice(lst_factor[0])
        factor_b = rd.choice(lst_factor[1])
        factor_c = rd.choice(lst_factor[2])
        coord_center_len_beam.append(x)
        coord_center_len_beam.append(y)
        coord_center_len_beam.append(len_beam)
        coord_center_len_beam.append(factor_a)
        coord_center_len_beam.append(factor_b)
        coord_center_len_beam.append(factor_c)
        if count_create != 1:
            center_and_beams_snowflakes.append(coord_center_len_beam)
        else:
            center_and_beams_snowflakes.insert(position_add,
                                               coord_center_len_beam)
Esempio n. 14
0
def snowflake():
    ground_level = 50
    k = 0
    while True:
        sd.start_drawing()
        for i in snowflakes_param:
            x = i[0]
            y = i[1]
            point = sd.get_point(x, y)
            snowflake_length = i[2]
            sd.snowflake(center=point,
                         length=snowflake_length,
                         color=sd.background_color)
            i[1] -= sd.random_number(0, 20)
            i[0] += sd.random_number(-20, 20)
            point_1 = sd.get_point(i[0], i[1])
            sd.snowflake(center=point_1,
                         length=snowflake_length,
                         color='white')
            if y < ground_level:
                ind = snowflakes_param.index(i)
                fallen.append(snowflakes_param.pop(ind))
                flake_add(snowflakes_param, 1)
                k += 1
        if k >= 10:
            ground_level += 5
            k = 0
        sd.finish_drawing()
        sd.sleep(0.1)
        if sd.user_want_exit():
            break
def snowflakes_step():
    global _index
    for _index, x in enumerate(_x_coordinates):
        random_step_x = sd.random_number(-30, 30)
        random_step_y = sd.random_number(5, 15)
        _x_coordinates[_index] += random_step_x
        _y_coordinates[_index] -= random_step_y
Esempio n. 16
0
def draw_branches_random(
        start_point=sd.get_point(800, 0), angle=90.0, length=70.0, delta=30):
    # Изменил аргументы по умолчанию с целых чисел на числа с плавающей запятой.
    #  Так не будет замечаний среды разработки.
    # start_point = sd.get_point(800, 0)
    # length = 70
    # angle = 90
    # delta = 30
    if length < 5:
        return
    if length < 10:
        color = sd.COLOR_GREEN
    #  Замените второй if на else, чтобы убрать предупреждение
    #  о том, что переменная color может не существовать.
    else:
        color = (91, 58, 41)

    v1 = sd.get_vector(start_point, angle=angle, length=length, width=2)
    v1.draw(color)
    next_point = v1.end_point
    variance_length = float(sd.random_number(6, 9) / 10)
    variance_angle = float(sd.random_number(12, 42))
    next_angle = angle - variance_angle
    next_length = length * variance_length
    draw_branches_random(start_point=next_point,
                         angle=next_angle,
                         length=next_length,
                         delta=delta)
    next_angle = angle + variance_angle
    draw_branches_random(start_point=next_point,
                         angle=next_angle,
                         length=next_length,
                         delta=delta)
Esempio n. 17
0
def snowflakes(_x1, _y1, _x2, _y2):
    def new_snowflake():
        _x = sd.random_number(_x1, _y1)
        _y = sd.random_number(_x2, _y2)
        _length = sd.random_number(10, 20)
        _my_dict = {'x': _x, 'y': _y, 'length': _length}
        snowflakes[i] = _my_dict

    snowflakes = {}

    for i in range(50):
        new_snowflake()

    while True:
        sd.start_drawing()
        for i, snowflake in snowflakes.items():

            sd.snowflake(center=sd.get_point(snowflake['x'], snowflake['y']), length=snowflake['length'],
                         color=sd.background_color)
            snowflake['y'] -= 10
            if snowflake['x'] >= 340:
                snowflake['x'] += sd.random_number(-51, -50)
            snowflake['x'] += sd.random_number(-50, 50)
            sd.snowflake(center=sd.get_point(snowflake['x'], snowflake['y']), length=snowflake['length'],
                         color=sd.COLOR_WHITE)
            if snowflake['y'] < snowflake['length']:
                new_snowflake()
                continue
            sd.sleep(0.005)

        sd.finish_drawing()
        if sd.user_want_exit():
            break
    sd.pause()
Esempio n. 18
0
def rand_delta(number, percent=50, is_positive=False):
    if is_positive:
        rand = sd.random_number(0, percent * 10) / 1000
    else:
        rand = sd.random_number(-percent * 10, percent * 10) / 1000

    return number * rand
Esempio n. 19
0
def create_snowflakes(n):
    for quantity_snowflakes in range(n):
        x = sd.random_number(50, 1000)
        y = sd.random_number(720, 800)
        length_of_snowflake = sd.random_number(10, 25)
        snowflake = [x, y, length_of_snowflake]
        snowflakes.append(snowflake)
 def __init__(self):
     self.length = sd.random_number(5, 15)
     self.x = sd.random_number(0, sd.resolution[0])
     self.y = 700
     self.factor_a = sd.random_number(1, 10) / 10
     self.factor_b = sd.random_number(1, 10) / 10
     self.factor_c = sd.random_number(10, 120)
Esempio n. 21
0
def create_flake(count_flake):
    global _fallen_flake
    _fallen_flake = []
    global _snow_params
    _snow_params = []
    for _ in range(count_flake):
        _snow_params.append([sd.random_number(0, 1000), sd.random_number(500, 600), sd.random_number(20, 40)])
Esempio n. 22
0
def tree_draw(point, angle, length, width):
    color = sd.COLOR_DARK_ORANGE
    delta_angle1 = sd.random_number(18, 42)
    delta_angle2 = sd.random_number(18, 42)
    delta_length1 = (sd.random_number(60, 90)) * 0.01
    delta_length2 = (sd.random_number(60, 90)) * 0.01
    if length < 2:
        return
    if length < 8:
        color = sd.COLOR_DARK_GREEN
    branch1 = sd.get_vector(start_point=point,
                            angle=angle,
                            length=length,
                            width=width)
    next_angle1 = angle + delta_angle1
    next_angle2 = angle - delta_angle2
    next_length1 = length * delta_length1
    next_length2 = length * delta_length2
    branch1.draw(color=color)
    tree_draw(point=branch1.end_point,
              angle=next_angle1,
              length=next_length1,
              width=int(width))
    tree_draw(point=branch1.end_point,
              angle=next_angle2,
              length=next_length2,
              width=int(width))
Esempio n. 23
0
def snowflakes(quantity):
    x_list = []
    y_list = []
    size_list = []
    length_list = []
    for _ in range(quantity):
        new_x = sd.random_number(50, 1150)
        x_list.append(new_x)
        new_y = sd.random_number(0, 600)
        y_list.append(new_y)
        new_size = sd.random_number(10, 40)
        size_list.append(new_size)
        new_length = round(sd.random_number(10, 90) / 100, 1)
        length_list.append(new_length)
    while True:
        sd.start_drawing()
        sd.clear_screen()
        for i, x in enumerate(x_list):
            if y_list[i] < 0:
                y_list[i] = 600
            point = sd.get_point(x_list[i], y_list[i])
            sd.snowflake(center=point, length=size_list[i], factor_b=length_list[i])
            y_list[i] -= 10
        sd.finish_drawing()
        sd.sleep(0.1)
        if sd.user_want_exit():
            break
Esempio n. 24
0
def snow_create(N):
    global snow_list
    for i in range(N):
        x = sd.random_number(10, sd.resolution[0])
        y = sd.random_number(sd.resolution[1] - 10, sd.resolution[1])
        len_i = sd.random_number(10, 35)
        snow_list.append([x, y, len_i])
def snowfall(coord_x=0, coord_y=500):
    count_snowfall = 20

    x = []
    for _ in range(count_snowfall):
        x.append(sd.random_number(coord_x, coord_y))
    y = []
    for _ in range(count_snowfall):
        y.append(sd.random_number(coord_x, coord_y))

    while True:
        sd.start_drawing()
        for i in range(len(x)):
            if i > 0:
                point1 = sd.get_point(x[i - 1], y[i - 1])
                sd.snowflake(center=point1, length=10, color=sd.COLOR_WHITE)
            point = sd.get_point(x[i], y[i])
            if y[i] > 50:
                sd.snowflake(center=point,
                             length=10,
                             color=sd.background_color)
                y[i] -= sd.random_number(-1, 15)
                x[i] = x[i] + sd.random_number(-15, 15)
        sd.finish_drawing()
        sd.sleep(0.1)
Esempio n. 26
0
def draw_branches(starting_point,
                  angle,
                  length,
                  width=10,
                  color=sd.COLOR_ORANGE):
    if length < 10:
        return
    if width <= 2:
        width = 2
    if length < 15:
        width = 9
        color = sd.COLOR_GREEN
    v1 = sd.get_vector(start_point=starting_point,
                       angle=angle + sd.random_number(17, 47),
                       length=length)
    v1.draw(width=width, color=color)
    v2 = sd.get_vector(start_point=starting_point,
                       angle=angle - sd.random_number(17, 47),
                       length=length)
    v2.draw(width=width, color=color)
    start_point_v1 = v1.end_point
    start_point_v2 = v2.end_point
    random_len_v1 = sd.random_number(60, 90) / 100
    random_len_v2 = sd.random_number(60, 90) / 100
    draw_branches(start_point_v1, angle + 30, length * random_len_v1,
                  width - 2)
    draw_branches(start_point_v2, angle - 30, length * random_len_v2,
                  width - 2)
def append_flakes(count):
    for _ in range(count):
        _flake = Snowflake()
        _flake.x = sd.random_number(a=0, b=sd.resolution[0])
        _flake.y = sd.random_number(a=sd.resolution[1] - 30,
                                    b=sd.resolution[1])
        flakes.append(_flake)
Esempio n. 28
0
def draw_branches(point, angle, length=100):
    if length < 10:
        return

    vector = sd.get_vector(start_point=point,
                           angle=angle,
                           length=length,
                           width=2)
    vector.draw()

    next_point = vector.end_point

    delta = 30
    delta_deviation = delta * 0.4
    delta += sd.random_number(-delta_deviation, delta_deviation)

    length = length * 0.75
    length_deviation = round(length * 0.2)
    length += sd.random_number(0, length_deviation)

    next_angle = round(angle + delta)
    draw_branches(next_point, next_angle, length)

    next_angle = round(angle - delta)
    draw_branches(next_point, next_angle, length)
def falling_snowflake():
    snowflakes_length = [sd.random_number(10, 101) for _ in range(20)]
    snowflakes_point = {
        i: [sd.random_number(0, 500), 500, i]
        for i in range(20)
    }
    old_points_arr = [[snowflakes_point[key][0], snowflakes_point[key][1]]
                      for key, val in snowflakes_point.items()]
    while True:
        sd.start_drawing()
        for i in range(20):
            if len(old_points_arr) < 20:
                sd.snowflake(center=old_points_arr[i],
                             length=snowflakes_length[i],
                             color=sd.background_color)
            x, y, delay = snowflakes_point[i]
            if delay < 1:
                point = sd.get_point(x, y)
                sd.snowflake(center=sd.Point(old_points_arr[i][0],
                                             old_points_arr[i][1]),
                             length=snowflakes_length[i],
                             color=sd.background_color)
                sd.snowflake(center=point, length=snowflakes_length[i])
                if y < 20:
                    snowflakes_point[i][1] = 500
                    continue
                snowflakes_point[i][1] -= 9
                snowflakes_point[i][0] += sd.random_number(-10, 10)
                old_points_arr[i] = [x, y]
            snowflakes_point[i][2] -= .2
        sd.finish_drawing()
        sd.sleep(0.1)
        if sd.user_want_exit():
            break
Esempio n. 30
0
 def next_random_branches(angle, length, next_point1, next_point2,
                          random_sign, color):
     random_angle = sd.random_number(1, 12)
     random_length = sd.random_number(1, 15)
     if random_sign == 0:
         next_angle1 = angle + (30 - random_angle)
         next_angle2 = angle - (30 + random_angle)
         next_length = length * (.75 - random_length / 100)
         draw_branches(start_point=next_point1,
                       angle=next_angle1,
                       length=next_length,
                       color=color)
         draw_branches(start_point=next_point2,
                       angle=next_angle2,
                       length=next_length,
                       color=color)
     else:
         next_angle1 = angle + (30 + random_angle)
         next_angle2 = angle - (30 - random_angle)
         next_length = length * (.75 + random_length / 100)
         draw_branches(start_point=next_point1,
                       angle=next_angle1,
                       length=next_length,
                       color=color)
         draw_branches(start_point=next_point2,
                       angle=next_angle2,
                       length=next_length,
                       color=color)
Esempio n. 31
0
 def __init__(self, y_min=0):
     self.x = sd.random_number(0, sd.resolution[0])
     self.y = sd.random_number(y_min, sd.resolution[1])
     self.branch_len = sd.random_number(5, 15)
     self.speed = sd.random_number(3, 8)
     self.color = sd.COLOR_WHITE
     self.move_flag = True