Подготовлено онлайн-курсом
Перейдите к следующему слайду, нажав кнопку Вправо
fly_garbage
перемещает фрагмент мусора
корутина
fill_orbit_with_garbage
event loop
бесконечный цикл по корутинам
фрагмент мусора
вылетел за край поля
заказ на еще одну корутину
пауза
пауза . . .
наполняет орбиту мусором
корутина
пауза
время
запустить
запустить
fly_garbage
перемещает фрагмент мусора
корутина
fill_orbit_with_garbage
event loop
бесконечный цикл по корутинам
мусор вылетел
за край поля
добавить корутину
наполняет орбиту мусором
корутина
время
1
2
3
await sleep
await sleep
4
5
6
7
9
8
10
await sleep
await sleep
Цифрами 1, 2 - 10 указана последовательность запуска корутин
Очередность указана не точно и может варьироваться
await sleep
добавить корутину
добавить корутину
запутить
запутить
fly_garbage
fly_garbage
show_obstacles
obstacles
глобальная переменная
список всех препятствий на игровом поле
корутина
делает препятствия видимыми — рисует на экране их границу в виде рамки
корутина
корутина
обновление координат
чтение координат
draw_frame
draw_frame
draw_frame
obstacles
глобальная переменная
список препятствий задетых выстрелами
глобальная переменная
список всех препятствий
выстрел
попал в препятствие
фрагмент мусора
уничтожен
obstacles_in_last_collisions
fly_garbage
проверяет было ли попадание
корутина
fire
проверяет было ли столкновение
корутина
сообщаем о столкновении с препятсвием
список новых
столкновений
координаты
препятствий
Попадание?
Нет
Попадание?
Нет
Попадание?
Нет
Есть
попадание!
Столкновение?
Нет
Столкновение?
Нет
Есть
столкновение!