Основы языка Python. Урок 7. Разработка графического приложения. Часть 1

Автор Liza Merichenko
Основы языка Python. Урок 7. Разработка графического приложения. Часть 1

Здравствуйте друзья мы продолжаем знакомиться с языком программирования Python в этот раз мы немного отойдем от системных функций и рассмотрим работу с простой графикой создадим новый файл в питоне есть библиотека для рисования простой графике называется она тортов.

Черепашка Она позволяет делать простые действия например курсор с рисованием линии рисовать окружность рисовать многоугольник делать заполнение цветом изменять координаты точки. Давайте например. Нарисуем окружность для этого функцию Circle передадим длину радиуса в пикселях.

Давайте посмотрим, что получилось скрип запустился нарисовалась и окно закрылось мы уже знаем, что делать в случае если мы не хотим чтобы программа закрыть можно сделать цикл запросам пользователя хочет ли он.

Выйти из программы запросу пользователя можно делать также в рамках библиотеки DLL для этого здесь есть функция текста Input которая принимает заголовок окна и строку подсказки проверим выдался запрос, но сейчас он никак не обрабатывается сделаем цикл. Будем работать пока пользователь не введёт символ N зададим начальное значение ответа пользователя и проверим пользовательский ввод. Если пользователь хочет нарисовать окружность мы её. Нарисуем противном случае. Ну мы пока ничего не будем делать. Давайте проверим здесь я внимание, что если вы пользуетесь вторым питоном то для пользовательского ввода в рамках библиотеке DLL вам нужно подключить дополнительный модуль и вместо Funk текст Input использовать функцию A string с такими же аргументами добавим немножко разнообразие в программу воспользуемся модулем карандашом для генератор случайных чисел и будем рисовать наши окружности. В случайном радиусом функция randrange будет генерировать случайные числа в указанном диапазоне проверим используя функцию голду для перемещения пера которые рисуют на экране в другую позицию зададим случайную композицию задаются 2 координаты по горизонтали и по вертикали то есть X и Y при этом координаты сдаются как на координатной плоскости. То есть можно задать координаты от минус некоторого числа да плюс некоторого числа теперь чтобы не создавалось линий во время перемещения пера которые рисуют на экране выполнить функцию пин-ап перед перемещением и. Кендалл перед рисованием. Ну и немножко ускоренном черепашку проверим теперь можно добавить закрашивание окружностей разными цветами для этого нужно комбинация функций Fill Color bigfil и and Fill Fill Color можно передать три числа определяющие цвет в системе RGB то есть красный зелёный и синий. Воспользуйся также случайными числами функция. Бекинсейл должно вызываться перед рисованием замкнутой фигуры, а функция and Fill после того как будет нарисована продолжать. Можно бесконечно, но нужно остановиться. Ну, что же. Мы научились рисовать кружочки. Что можно нарисовать из кружочков. Как вариант можно сделать макет игры. Русская рулетка. Нарисуем барабан для 7 патронов с одним установленным патроном потом постараемся сделать движение барабана. Давайте здесь отдельно. Нарисуем основания барабаны поднимаем перрон перемещаем перо в указанную точку опускаем перрон рисуем окружность например радиусом 81 окружность уберём теперь внимательно смотрим на кот и понимаем нечто подобное мы уже делали то есть делали перемещение на указанную позицию. А, что мы делаем когда видим действия которые уже в точности повторялись. Ну или могут ещё повторится. Правильно мы выносим их функцию создадим такую функцию которая перемещает перо в указанные координаты. Я назову её похожа на оригинальную функцию только с. Ярик Она будет принимать X и Y и будет выполнять перемещение без рисования линии на указаны координаты за меня этот код на использование функции теперь. Нарисуем мушку символизирующие боёк или курок пистолета в каждом координаты поднимем курсор чуть выше если радиус круга 80 то его диаметр 100 и нам нужно рисовать мушку над барабаном пистолетом. Я хочу сделать мушку красного цвета для этого. Воспользуйтесь функцией Fill Color передам в неё текстовое значение цвета скажу. Черепашки, что я хочу начать заполнять цветом нарисую окружность маленького радиуса и закончу заполнение цветом посмотрим основание есть теперь нужно нарисовать 7 окружностей символизирующих патроны сейчас немного математике так как для вычисления координат каждой новой точки каждого. Нового патрона нужно воспользоваться формулы перевода из. Полярной в декартову систему координат в. Полярной системе координат и задаются углом фи и радиусом r создадим фильм который будет. Как раз углом фи угол фи. Это вся окружность разбитая на количество необходимых секторов в нашем случае 737 патронов которые равномерно распределены по исходной окружности поэтому угол фи мы находим как 360 градусов полная окружности деленная на 7 радиус R Premium равном 50 — — это радиус окружности по которой будут перемещаться вершина наших новых окружностей которые будут патронами формулы для координат имеют вот такой вид небольших дополнения для перевода этих формул в код программы угол для которого вычисляется синус и косинус смысл наращивать в цикле переменной и будет сдавать увеличении угла фи для.

0 комментариев
0

Читайте также