<MyRusakov.ru />

Финансовая грамотность от А до Я

Финансовая грамотность от А до Я

Данный курс в кратчайшие сроки обучит Вас финансовой грамотности. Эти знания позволят Вам получить, как минимум, серьёзную финансовую стабильность, а, как максимум, финансовую независимость.

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

Помимо самого курса Вас ждёт ещё бесплатный ценный Бонус: «Ранний выход на пенсию». В рамках этого Бонуса Вы узнаете, какой должен быть капитал конкретно в Вашем случае, варианты его получения, а также какие есть стратегии вывода капитала на пенсии и где их можно протестировать.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Создаем игру с Pygame и Python. Часть 7

Создаем игру с Pygame и Python. Часть 7

Продолжаем покорять космические просторы с Python и Pygame.В прошлой статье мы придали кораблю возможность управления с помощью клавиш. В сегодняшней статье мы добавим нашему космическому кораблю возможность ускоряться. И согласно механики игры Asteroids корабль будет двигаться только вперед.

В игре, нажатие клавиши UP-(вверх), будет увеличивать скорость космического корабля. Когда вы отпустите клавишу, космический корабль должен сохранить свою текущую скорость, но больше не должен ускоряться. И, чтобы замедлить его, вам придется повернуть космический корабль и снова нажать вверх.

Этот процесс может показаться немного сложным, поэтому, прежде чем продолжить, дадим краткое резюме:

направление(direction)-это вектор, описывающий, куда направлен космический корабль.

скорость(velocity)-это вектор, описывающий, куда движется космический корабль в каждом кадре.

УСКОРЕНИЕ(ACCELERATION)-это постоянное число, описывающее, насколько быстро космический корабль может ускориться каждый кадр.

Можно рассчитать изменение скорости, умножив вектор направления(direction) на значение УСКОРЕНИЯ(ACCELERATION) и добавив результат к текущей скорости. Это происходит только тогда, когда двигатель включен, то есть когда игрок нажимает вверх - UP. Новое положение космического корабля вычисляется путем добавления текущей скорости к текущему положению космического корабля. Это происходит каждый кадр, независимо от состояния двигателя.

Зная это, добавим значение ACCELERATION к классу космического корабля:


class Spaceship(GameObject):
    MANEUVERABILITY = 3
    ACCELERATION = 0.25

    # добавим метод отвечающий за ускорение

    def accelerate(self):
        self.velocity += self.direction * self.ACCELERATION


    # Теперь можно добавить обработку ввода в функцию _handle_input() в Space Rocks. Аналогично вращению, оно будет проверять текущее состояние клавиатуры, а не события нажатия клавиш.


    def _handle_input(self):
        for event in pygame.event.get():
            if event.type == pygame.QUIT or (
                event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE
            ):
                quit()
         ............................
         ............................
         ............................
         
         # проверка состояния клавиш
        is_key_pressed = pygame.key.get_pressed()

        if is_key_pressed[pygame.K_RIGHT]:
            self.spaceship.rotate(clockwise=True)
        elif is_key_pressed[pygame.K_LEFT]:
            self.spaceship.rotate(clockwise=False)
        if is_key_pressed[pygame.K_UP]:
            self.spaceship.accelerate()

Запустим игру. Развернем корабль в нужном направлении и включим двигатель:


Изображение

Теперь наш космический корабль может двигаться и вращаться! Однако, когда он достигает края экрана, то выходит за его пределы. Это то, что мы должны исправить!

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.