Ручное редактирование при слиянии; использование tkinter
Ещё про работу с историей
Статья на Хабре про стратегии git merge
Раздельное добавление ханков
- Откат истории:
Команды git-reset (и git reset --hard)
git commit --interactive (ALT: пакет perl-Git)
Ветка/сторонний репозиторий как хранилище отдельных коммитов
Немного о формате
Патчи и Git:
git-format-patch и git-am / git-apply
Замечание: git не умеет в fuzzy (и правильно!)
⇒ иногда уместнее patch -u или patch --git
Интерферирующие коммиты
Немного о формате:
Ситуация:
- Мой коммит, их коммит, общий предок
- ⇒ diff-3 результат:
- всё, что можно, применено
всё, что отъехало, оформлено как diff3
И вот git mergetool до посинения
Адище тут: kdiff3, [g]vimdiff, diffuse, тысячи их
Снова Tkinter
(сколько успеем) Повторение:
- вложенность виджетов
- основное окно по умолчанию
- ручное раскладывание объектов
- mainloop
Понятие геометрии (grid, pack, place); grid
- строки и столбцы
- sticky
- columnconfigure / rowconfigure и эластичность (weight)
Д/З
- Прочитать
про grid
- в частности, выяснить, как узнать положение виджета в сетке
про messagebox
- в тексте — описание для Python2, выяснить, в чём отличие от Python3
Спойлер:
В зарегистрированном вами репозитории создать подкаталог 03_ThreeWayAndTkinter (совпадает с финальной частью URL данной лекции) и решить в нём задачу, описанную ниже
- Соблюдать дисциплину оформления коммитов
- Переписывание истории в течение дедлайна допускается
- Дедлайн — неделя
Написать приложение для примитивной игры в 15
- Минимальное приложение
17 кнопок (15 числовых + New + Exit)
- Изменение размера окна приложения должно изменять размер числовых кнопок
Нажатие на New расставляет числовые кнопки в случайном порядке
Нажатие на Exit останавливает приложение
- Нажатие на числовую кнопку, находящуюся рядом со свободным местом, перемещает эту кнопку на свободное место
- Нажатие на другие числовые кнопки игнорируется
- Когда все кнопки встают на свои места, выводится сообщение и игра запускается по новой
- Примерно так ☺:
Дополнительно
- Не использовать неразрешимые расстановки
- Сделать все числовые кнопки одинакового размера (обратите внимание на то, что иногда меняется размер всего окна)
- Минимальное приложение