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

Автор Filip Sergienko
Основы языка Python. Урок 8. Разработка графического приложения. Часть 2

коллеги.

Приветствую вас мы продолжаем разработку игры. Русская рулетка на прошлом занятии мы сделали отрисовку барабаном пистолета сейчас мы усложняя задачу и делаем вращении барабана пистолета то сделаем небольшую анимацию анимация в самом простом случае представляет собой отображение того, что нужно отобразить и не брожение или стирание того, что не нужно таким образом чтобы представить вращении барабана с одним патроном нужно этот патрон поочередно нарисовать вдоль. Круга Rabanne важно понимать, что всякий раз перед.

Новым положением патрона нужно закрашивать его предыдущие положение то есть в цикле отрисовки мы можем теперь вместо рисования окружностей сделать рисование.

Круга заданного радиуса и заданного цвета сначала моего. Нарисуем коричневым потом моего. Нарисуем то есть сотрём. Давайте посмотрим, что получится нечто похожее на вращение барабана мы получили. Обратите внимание, что если мы будем увеличивать верхнюю границу счетчика цикла for то — это никак не скажется на перемене патрона. Вы наверняка помните, что тригонометрические функции повторяются через период. Сколько бы мы ни сделали оборотов в данном случае просто патрон сделай больше одного оборота таким мы можем добавить. Случайность в финал кручения барабана то есть верхнюю границу цикла сделать. Случайный Выбери случайное число из диапазона от 7 до 100 число семь. Я выбрал для того чтобы хотя бы один раз патрон полностью пробежал весь. Круг Теперь мы не можем сказать сколько будет крутится патрон. Давайте посмотрим, что получилось, а потом. Крутится крутится мы не знаем когда он остановится, что в общем-то является сутью русской рулетки теперь нам остается только проверить результат игры определимся, что если патрон останавливается кумушки у байка. Ну — это происходит выстрел если патрон останавливается в каком-то другом положении выстрел не происходит. Как нам понять, что патрон кумушки — это начальное положение патрона. И здесь нужно обратить внимание, что угол там равен нулю плюс-минус период и мы не обратить внимание на переменную и который является коэффициентом для нашего угла то есть по сути — это переменная задаёт угол на окружности отображение патроном и здесь есть интересная особенность если — это переменная делится на цело на 7 потому, что у нас 7 патронов. Это значит, что патрон попал в начальное положение там где угол равен нулю для проверки деления нацело воспользуемся оператором % соответственно если делится нацело на 7 то остаток от деления равен нулю. Ну давайте если произошел выстрел мы выведем сообщение заодно координатах о том, что пользователь проиграл функция Right делает вывод на экран в графическом библиотеке тортов и здесь мы можем указать шрифт укажем шрифт покрупнее чтобы проверить, что наши сообщения вообще может быть выведена я специально здесь поставлю вместо случайного числа число 8, тогда последнее значение и будет равно 7 и мы должны попасть в эту ветку вот нам удалось сообщение что. Мы проиграли. Теперь давайте поставим игровые действия внутри основного цикла по рисованию кружочков которые у нас оставалось за камень изменим сообщение о рисование окружности на вопрос хочет ли пользователь поиграть проверим, что получилось верни обратно случайное число ещё раз проверим всё хорошо, но только хотелось бы чтобы каждый новое кручение барабана начиналось с последнего положения патрона. А сейчас мы видим, что она начинается с начального положения. Это не совсем верным для этого достаточно запомнить стартовую позицию откуда нужно начинать движение барабана. Поэтому в самом начале мы создадим перемену. Старт который будет равна нулю начинать отрисовка мы будем с этой переменной. Старт А после вращения барабана нужно. Старт сделать разные как раз позиции на барабане, тогда здесь мы можем уже проверить переменную. Старт как раз давайте посмотрим, что у нас получилось. Увидим, что патрон стартанул той позиции где он остановился то, что мы хотели. Единственное, что нужно теперь добавить отрисовку барабана в самом начале чтобы у нас уже. Барабан был нарисован барабан, но без движения соответственно от 0 до 7:00 отрисовка белых кружочков проверим здесь ещё нужно включать какой-нибудь тревожную музыку всё ненужное лишние можно закомментировать. Ну или. Сразу убрать подведём итоги на этих занятиях. Мы рассмотрели возле библиотеки для работы с графикой сделали простую анимацию закрепили возможности использования собственных функций рассмотрели функцию Range для последовательности чисел на этот раз будет полноценно домашнее задание вам нужно сделать две функции на основании этих действий которые мы уже сделали. Первое — это барабаны пистолета сделать функцией она должна принимать координаты базовой точки где мы будем рисовать барабан. Ну и анимацию вращения барабана также сделать функции которая принимает базовую точку для отрисовки. Если вдруг что-то будет непонятно конечно не переживайте мы всё разберём на этом занятие окончено. До новых встреч.

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

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