Описывают сцену
canvas.rect, canvas.circle и canvas.text формируют ограниченный список команд. Python не рисует пиксели сам.
Опиши сцену Python-командами, а браузерный Canvas-оболочка построит её из ограниченного набора команд рисования.
Эта глава не называет себя pygame. Python задаёт сцену через ограниченный Canvas-оболочка command API, а браузер честно рисует результат в canvas. Механики и события разбираем как отдельную модель, а не приписываем их другой библиотеке.
Три страницы и студия образуют творческий маршрут без практикума, экзамена или полигона.
canvas.rect, canvas.circle и canvas.text формируют ограниченный список команд. Python не рисует пиксели сам.
Браузер получает только проверенные координаты, цвета и размеры, затем последовательно выводит их на настоящий Canvas.
Время кадра, ввод и столкновения разбираются на этой главе отдельно. Сцена студии не выдает себя за сторонний игровой движок.
Патруль движется по клеткам. Попробуй столкнуться с препятствием, а затем попроси алгоритм показать кратчайший достижимый маршрут.
Запусти заготовку, собери звёзды, затем измени скорость, координаты или условие сбора. Результат не отделён от причины: Python остаётся рядом с игровым Canvas и полностью редактируется.
init() создаёт состояние, update(state, event, dt) обрабатывает ввод и меняет данные, draw(canvas, state) строит новый кадр. Проверь экспериментом: если убрать изменение координаты из update, рисунок останется, но игра перестанет реагировать на управление.