Exemplo n.º 1
0
#  сдвинуть_снежинки() - сдвигает снежинки на один шаг
#  номера_достигших_низа_экрана() - выдает список номеров снежинок, которые вышли за границу экрана
#  удалить_снежинки(номера) - удаляет снежинки с номерами из списка
# снежинки хранить в глобальных переменных модуля snowfall
#
# В текущем модуле реализовать главный цикл падения снежинок,
# обращаясь ТОЛЬКО к функциям модуля snowfall

print('Сколько снежинок хотите создать?')
n = int(input())
create_snowflakes(n)
while True:

    sd.start_drawing()

    draw_snowflakes(sd.background_color)

    move_snowflakes()

    draw_snowflakes(sd.COLOR_WHITE)
    sd.finish_drawing()

    list_for_removing = numbers_of_snowflakes_bottom()

    if len(list_for_removing) > 0:
        remove_snowflakes(list_for_removing)

        create_snowflakes(len(list_for_removing))

    sd.sleep(0.01)
    if sd.user_want_exit():
Exemplo n.º 2
0
# На основе кода из lesson_004/05_snowfall.py
# сделать модуль snowfall.py в котором реализовать следующие функции
#  создать_снежинки(N) - создает N снежинок
#  нарисовать_снежинки_цветом(color) - отрисовывает все снежинки цветом color
#  сдвинуть_снежинки() - сдвигает снежинки на один шаг
#  номера_достигших_низа_экрана() - выдает список номеров снежинок, которые вышли за границу экрана
#  удалить_снежинки(номера) - удаляет снежинки с номерами из списка
# снежинки хранить в глобальных переменных модуля snowfall
#
# В текущем модуле реализовать главный цикл падения снежинок,
# обращаясь ТОЛЬКО к функциям модуля snowfall

snowfall.snowflake_list_gen(N=30, min_branch_len=15, max_branch_len=30)
while not sd.user_want_exit():
    #  нарисовать_снежинки_цветом(color=sd.background_color)
    snowfall.draw_snowflakes(color=sd.background_color)
    #  сдвинуть_снежинки()
    snowfall.move_snowflakes()
    #  нарисовать_снежинки_цветом(color)
    snowfall.draw_snowflakes(color=sd.COLOR_RED)

    fallen_snowflakes = snowfall.get_fallen_snowflakes()
    #  если есть номера_достигших_низа_экрана() то
    # условие грамотно упростили. Молодец.
    if fallen_snowflakes:
        # удалить_снежинки(номера)
        snowfall.delete_snowflake(fallen_snowflakes)
        # создать_снежинки(count)
        snowfall.snowflake_list_gen(N=len(fallen_snowflakes),
                                    left_bottom=(0, sd.resolution[1]))
    sd.sleep(0.1)
Exemplo n.º 3
0
#  удалить_снежинки(номера) - удаляет снежинки с номерами из списка
#
# В текущем модуле реализовать главный цикл падения снежинок,
# обращаясь ТОЛЬКО к функциям модуля snowfall

from snowfall import create_snowflakes, clear_snowflakes, move_snowflakes, draw_snowflakes, fallen_snowflakes, \
    remove_snowflakes, new_snowflakes

N = 20
create_snowflakes(N)

while True:
    sd.start_drawing()
    clear_snowflakes()
    move_snowflakes()
    draw_snowflakes()
    sd.finish_drawing()
    new_list = fallen_snowflakes()
    remove_snowflakes(new_list)
    new_snowflakes(new_list)

    sd.sleep(0.01)
    if sd.user_want_exit():
        break
sd.pause()
# создать_снежинки(N)

#  нарисовать_снежинки_цветом(color=sd.background_color)
#  сдвинуть_снежинки()
#  нарисовать_снежинки_цветом(color)
#  если есть номера_достигших_низа_экрана() то
Exemplo n.º 4
0
#  удалить_снежинки(номера) - удаляет снежинки с номерами из списка
# снежинки хранить в глобальных переменных модуля snowfall
#
# В текущем модуле реализовать главный цикл падения снежинок,
# обращаясь ТОЛЬКО к функциям модуля snowfall

create_snowflakes(45)
color = sd.background_color
color_1 = sd.COLOR_YELLOW
while True:
    #  нарисовать_снежинки_цветом(color=sd.background_color)
    #  сдвинуть_снежинки()
    #  нарисовать_снежинки_цветом(color)
    #  если есть номера_достигших_низа_экрана() то
    #       удалить_снежинки(номера)
    #       создать_снежинки(count)
    sd.start_drawing()
    draw_snowflakes(color)
    move_snowflakes()
    draw_snowflakes(color_1)
    fallen_flakes = number_snowflakes()
    if fallen_flakes:
        delete_snowflakes(number=fallen_flakes)
        create_snowflakes(45)
    sd.finish_drawing()
    sd.sleep(0.05)
    if sd.user_want_exit():
        break

sd.pause()
#зачёт!
# обращаясь ТОЛЬКО к функциям модуля snowfall

N = 20
COLOR = sd.COLOR_WHITE

# создать_снежинки(N)
snowfall.generate_snowflakes(N)
while True:
    #  нарисовать_снежинки_цветом(color=sd.background_color)

    #  кстати, сугроб в четвёртом уроке без синих артефактов (от снежинок цвета фона) можно получить,
    #  если перед удалением упавших снежинок делать sd.draw_background, выводить только удаляемые снежинки
    #  и делать sd.take_background. Продемонстрировал концепт в самом модуле snowfall.
    #  Здесь же для ускорения работы можно обойтись однократным sd.take_background перед циклом
    #  и sd.draw_background в начале каждой итерации вместо рисования снежинок цветом фона
    snowfall.draw_snowflakes(sd.background_color)
    #  сдвинуть_снежинки()
    snowfall.move_snowflakes()
    #  нарисовать_снежинки_цветом(color)
    snowfall.draw_snowflakes(COLOR)
    #  если есть номера_достигших_низа_экрана() то
    offscreen_snowflakes = snowfall.get_offscreen_snowflakes()
    if offscreen_snowflakes:
        # удалить_снежинки(номера)
        snowfall.delete_offscreen_snowflakes(offscreen_snowflakes)
        # создать_снежинки(count)
        snowfall.generate_snowflakes(len(offscreen_snowflakes))
    sd.sleep(0.1)
    if sd.user_want_exit():
        break
Exemplo n.º 6
0
import simple_draw as sd
from snowfall import create_snowflakes, draw_snowflakes, delete_snowflakes, move_down, get_reached_bottom

# На основе кода из lesson_004/05_snowfall.py
# сделать модуль snowfall.py в котором реализовать следующие функции
#  создать_снежинки(N) - создает N снежинок
#  нарисовать_снежинки_цветом(color) - отрисовывает все снежинки цветом color
#  сдвинуть_снежинки() - сдвигает снежинки на один шаг
#  номера_достигших_низа_экрана() - выдает список номеров снежинок, которые вышли за границу экрана
#  удалить_снежинки(номера) - удаляет снежинки с номерами из списка
#
# В текущем модуле реализовать главный цикл падения снежинок,
# обращаясь ТОЛЬКО к функциям модуля snowfall
N = 50

create_snowflakes(N)
while True:
    draw_snowflakes(color=sd.background_color)
    move_down()
    draw_snowflakes()
    reached_bottom = get_reached_bottom()
    if reached_bottom:
        count_reached_bottom = len(reached_bottom)
        delete_snowflakes(reached_bottom)
        create_snowflakes(count_reached_bottom)
    sd.sleep(0.3)
    if sd.user_want_exit():
        break

sd.pause()