Работа с историей и событийное программирование

Git

Структура

⇒ Git хранит все когда-либо бывшие объекты и деревья

Ветки

Базовая статья (читать всю главу)

Деревья — не деревья, а срезы ⇒ ветки — не ветки, а что?

Merge: объединение историй

К. О.: git merge

TODO Пример

Rebase: переписывание истории

<!> Общее правило: при rebase меняются все коммиты, начиная с первого сделанного изменения (даже если это только reword и он только один)

PyGame

PyGame = «обёртка» SDL + атомарность

Поверхностное описание:

Событийное программирование

Pygame и событийное программирование

Пример (TODO переделать): https://github.com/FrBrGeorge/PyGame/tree/Fixupped

Д/З

  1. Прочитать и прощёлкать

TODO

  1. Задача на PyGame:

    • TODO Склонировать тестовый репозиторий/* Пример */

    • Реализовать гравитацию (это просто приращение скорости)
    • Написать класс «вращающиеся шары разного размера» на базе основного класса
      • можно использовать transform.html

      • поворачивать и масштабировать лучше каждый раз исходное изображение
    • Реализовать соударение
      • просчитывать соударение нескольких не нужно
      • поскольку шар круглый, при принятии решения о соударении можно использовать знание о диаметре шара, в общем случае удобнее pygame.mask

    • Коммиты оформлять сообразно дисциплине, описанной в прошлой лекции
    • Опубликовать склонированный репозиторий
      • (Когда будем изучать инфраструктуру, в Д/З войдут pull-реквесты)