Прыгающий мячик

Создадим двигающийся мячик: Добавим отражение от стен. Для этого, после изменения координат добавим проверку на пересечение границы Запустите программу. Должна появится ошибка: Подумайте, что нужно сделать, чтобы исправить программу. Пока мячик летает «в невесомости». Добавим тяготение (притяжение к нижней части экрана). Для этого каждый кадр будем добавлять к скорости 1: Для того, чтобы мяк прыгал […]

Основы ООП (план)

Классы методы, свойства Наследование(?) Класс мячик Класс прыгающий мячик Много прыгающих мячиков Летающие мячики Фонтаны и т.д. Аналог agar.io ___ отдельными статьями: угадай пару (поставить перед PIL??) аэрохоккей на двоих (до ООП) Чужие (древний консольный вариант) Чужие (вид сверху с перемещениями) Сапер Пак-мен Бомбермен Тетрис

PIL

Для того, чтобы выводить изображения на Canvas, придется установить PIL (Python Image Library), точнее ее форк: pillow. Для установки выполните следующие действия: Если у вас windows: 1. Пуск-выполнить (или сочетание клавиш Win+R) 2. Напечатать cmd и нажать Enter (откроется консоль — черное окно с текстом. Или не черное, но все равно с текстом) 3. В […]

Выполнять, пока получается. Цикл while

Рисовать, пока не будет нарисован красный: 1. Рисовать, пока не будет нарисовано два красных 2. Рисовать, пока не будет нарисован красный и синий 3. Рисовать, пока не будет нарисован красный или синий 4. По щелчку создать в этом месте круг, который начинает двигаться в случайном направлении и двигается, пока не удариться 3 раза о любую […]

Ветвление, оператор if

Для того, чтобы получить анимацию, нужно несколько раз в секунду выводить новое изображение и удалять старое. Круг, который движется вправо: Сделаем так, чтобы круг остановился у правой границы: 1. Сделать круг, который движется от центра влево и останавливается у левой границы 2. Сделать круг, который движется от центра вверх и останавливается у верхней границы 3. […]

Делать определенное количество раз. Цикл for

Мы уже использовали ранее цикл for для повторения действий определенное количество раз, когда управляли Черепашкой. Воспользуемся им еще раз и порисуем. Начнем с одного круга в случайном месте и нарисуем его по щелчку мыши: 1. Нарисовать 20 кругов в случайных местах 2. Нарисовать 40 кругов в случайных местах случайного размера, случайного цвета 3. Нарисовать 20 […]

Работаем в Tkinter с клавиатурой

Для того, чтобы в Tkinter вызывать действия по нажатию клавиш (реагировать на клавиатуру), используется почти такой же bind, как и для реакции на мышь, только привязывать надо не к холсту (Canvas), а к главному окну (root): root.bind(‘<Key>’,keypress). По нажатию на любую клавишу круг двигается вправо: Чтобы с помощью клавиш управления курсором управлять кругом, нужно знать […]

Удаление всего, отдельного элемента, группы элементов

Рассмотрим удаление элементов на холсте. Для удаления будем использовать метод delete(): canv.delete(ALL) удаляет все объекты на холсте. Если нужно удалить не все, а только часть, то есть два пути: удалять по имени и удалять по тегу (метке) Удаление по имени позволит удалить только один объект. А удаление по метке — сколько угодно, в том числе […]

Работаем с мышью в Tkinter

Возьмем самый простой вариант создания окна и холста: С функциями (командами) вы уже знакомы, так что данный код не должен вызвать непонимание: Сначала создается функция click, которая рисует окружность, а потом эта функция вызывается. Теперь сделаем так, чтобы она вызывалась по щелчку мыши. Однажды мы это уже делали, но с Черепашкой. В Tkinter немного иначе. […]

Tkinter вместо Черепашки

Пришла пора сменить графическую систему отображения. Tkinter – это один из способов создать «окошки и кнопки» на Python. Кроме Tkinter существуют и другие, самые известные: Qt, wxForms. Tkinter удобен тем, что он входит в стандартную поставку Python, а значит доступен всегда (почти всегда). Недостаток – маловато возможностей для построения сложных систем. Но нам это совсем […]