1. Создать форму (окно), на котором сверху будет 5 кнопок в ряд: «Окружность», «Прямоугольник», «Линия», Пятиугольник», «Очистить», а под ними — Canvas. Каждая кнопка должна рисовать на холсте указанную фигуру со случайными координатами, цветом и случайной
2. Сделать «мячик», равномерно перемещающийся вверх-вниз в бесконечном цикле
3. Сделать прыгающий мячик, перемещающийся вверх-вниз с замедлением в верхней точке
4. Сделать «шар бильярда» (вид сверху) — мяч, без учета трения ударяющийся о стены и отражающийся
5. «Звездное небо» — неподвижное. Нарисовать много случайного размера окружностей (малого радиуса) на темном фоне
6. «Звездное небо» со звездами, размер которых немного меняется, то увеличиваясь, то уменьшаясь.
7. Предыдущее задание сделать с использованием класса «Звезда», у которой должны быть следующие свойства:
текущий размер, максимальный размер, минимальный размер, скорость изменения размера, координаты, цвет, характер текущего изменения (увеличиваться или уменьшаться)
Предусмотреть автоматический переход от увеличения к уменьшению и обратно
8. Найти способ задавать цвет через RGB (т.е. любой оттенок цвета)
9. Создать «прямоугольник», заполненный не ровным цветом, а градиентом (использовать линии с плавно изменяющимся цветом)
10. Сделать пушку, которая стреляет мячиком по щелчку на экране (одним мячиком). Скорость и направление можно задавать жестко в программе. Скорость мяча менять так, чтобы было похоже на настоящий полет в условиях силы тяжести (vy уменьшается на одно и тоже значение, а vx уменьшается на 5-10 процентов)
11. В предыдущем задании к мячику добавить изображения векторов скорости, ускорения, свободного падения, проекции скорости на оси Х и Y. Сделать паузы перед вылетом, через 1 сек после вылета, в точке максимальной высоты, за мгновение до падения
12. Добавить «прицел» — точку, в которую должен упасть мячик
13. Создать горячие зоны на холсте (нарисовать там «+» и «-«, при щелчке на которых будет меняться значение какой-либо переменной. Отображать значение этой переменной рядом с этими горячими точками.
13. Сделать прицеливание с помощью установки начальной скорости и угла к горизонту (см. предыдущее задание)
14. Добавить к предыдущему заданию след от мяча (через определенные промежутки времени, чтобы не было сплошной линии)
15. (Вопрос). Как в предыдущей задаче учесть трение о воздух? Как сделать эту модель ближе к реальности? От чего будет зависеть скорость полета мяча (снаряда) в реальной жизни, какая у него будет траектория?
16. Найти способ отображать фотографию (можно на холсте, можно просто на форме)
17. Сделать программу для слайдшоу: последовательная смена фотографий из определенной папки
18. Добавить к этой программе возможность подключить mp3 для музыкального сопровождения.
19. Сделать так, чтобы у этой программы было два режима: режим показа и режим разработки. Во втором режиме программа будет подгружать очередную фотографию и, по нажатию на кнопку, записывать комментарий автора через микрофон и сохранять в файл, называющийся также, как и фотография (понятно, что с расширением mp3). Порядок фотографий определяется их названиями в папке.
В режиме показа — выводить фото и проигрывать аудиозапись с комментарием. Добавить установку времени показа фотографии.
One thought on “21. Задания по программированию на Python для начинающих и начавших.”