Циклы · 20 из 27
Салют на даче
Настоящий салют в посёлке запретили, и внук Николая Ивановича обещал устроить его на проекторе прямо на стене сарая. Каждая искра летит сама по себе: её тянет вниз, она гаснет, а упав на землю, пропадает. На каждом кадре все искры сдвигаются на крошечный промежуток времени — и из сотни таких сдвигов в секунду складывается салют.
Что сделать
Сдвиньте каждую искру на промежуток времени dt: она пролетает со своей скоростью, тяжелеет вниз и гаснет.
Что приходит
iskry— список искр, каждая — кортеж(x, y, vx, vy, zhizn)dt— промежуток времени одного кадраg— притяжение: на сколько за единицу времени падает скорость вверх
Что вернуть
Новый список искр-кортежей в том же порядке, без погасших и упавших.
Допишите функцию shag в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
с графикой когда тесты пройдут, ответ вашей функции нарисуется · все задачи с графикой
Искра (0, 10, 2, 1, 5) за 0,5 при g = 10: сдвигается на 2 · 0,5 = 1 вправо и на 1 · 0,5 = 0,5 вверх, скорость вверх падает на 5 — получается [(1.0, 10.5, 2, -4.0, 4)].
shag([(0, 10, 2, 1, 5)], 0.5, 10)
[(1.0, 10.5, 2, -4.0, 4)]
Искра — кортеж (x, y, vx, vy, zhizn): где она, её скорость по осям и сколько кадров ей осталось. Ось y смотрит вверх, земля — y = 0.
Новая искра за один кадр:
x + vx · dtиy + vy · dt— место считается по старой скорости;vxне меняется;vy − g · dt;zhizn − 1.
Искра пропадает, если новая zhizn стала нулём или меньше, или если новый y меньше нуля. Ровно на земле, y = 0, она ещё видна.
Порядок искр сохраняется. Переданный список не меняется.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.