Перейти к содержанию

Обзор примеров

Каталог src/drawzero/examples содержит 21 сценарий, которые авторы библиотеки используют как регрессионные тесты и обучающие демо. Они демонстрируют реальные приёмы из исходного кода и дополняют разделы документации. В таблице ниже указано, какую тему поднимает каждый файл и за какими функциями стоит следить, когда вы изучаете пример или ищете отправную точку для своей задачи.

Файл О чём пример На что обратить внимание
00_hello_world.py Первый вывод на холст Последовательность from drawzero import *, вызов run() и базовая рамка окна.
01_grid_and_coordinates.py Система координат Вспомогательная сетка grid(), подписи текста и расположение фигур по известным точкам.
02_loops_and_rgb_colors.py Генеративное искусство Цикл for, случайные RGB‑кортежи и построение полос разной высоты.
03_simple_objects.py Каталог примитивов Все основные функции рисования: линии, окружности, многоугольники, эллипсы и выравнивание текста.
04_loops_sin_plot.py Графики функций Построение синусоиды из коротких отрезков с шагом по оси X.
05_points.py Векторный помощник Pt Арифметика, нормализация и черепашьи операции Pt в циклах.
06_turtle_style.py Черепашьи многоугольники Повороты Pt, конструирование правильных многоугольников и заливка.
07_animation_circles.py Минимальная анимация Связка tick(), clear() и параметров окружности, которые меняются каждый кадр.
08_animation_traffic_light.py Машина состояний Комбинация функций рисования с sleep() для плавного переключения цветов.
09_animation_rectangles.py Сложные траектории Использование Pt, прозрачности и условных эффектов для движения нескольких объектов.
10_animation_planets.py Орбитальная система Расчёт кругового движения планеты и спутника с перерисовкой на каждом кадре.
11_transparency_and_line_width.py Прозрачность и обводка Сравнение значений alpha и line_width на разных примитивах.
12_images.py Работа с изображениями Загрузка cat.png, масштабирование и использование альфа‑канала при выводе.
13_gradients.py Помощник Gradient Создание палитр и их визуализация в виде составных прямоугольников.
14_animation_close_vertex.py Ближайшие соседи Случайные вершины Pt, линии между ближайшими парами и счётчик FPS.
15_animation_firework.py Система частиц Классы Particle/Firework, обновление физики и постэффекты на градиентах.
16_keyboard_and_mouse.py Обработка ввода Глобальные очереди клавиатуры и мыши, слежение за курсором и ввод текста.
17_mouse_tube.py Светящийся след мыши mouse_pos() на каждом кадре, нарастающие круги и плавное затухание.
18_game_stars.py Псевдо‑3D полёт Датаклассы, управление WASD/QE и перемещение звёзд с перспективой.
19_game_colors.py Игра на реакцию Сравнение цвета текста и фона, обработка кликов и штраф по таймеру.
20_game_racing.py Гоночный экран на двоих Индивидуальные привязки клавиш, прокрутка трека и отдельный счёт для игроков.
99_errors.py Сообщения об ошибках Примеры исключений и логирование диагностики в режиме EJUDGE_MODE.

Все эти файлы можно безопасно импортировать: тесты проекта делают именно так, чтобы убедиться в корректности API. Если вы добавляете собственный пример, оставляйте бесконечные циклы только внутри блока if __name__ == "__main__": или заменяйте их конечными циклами, чтобы импорт не зависал.