Nano Hash - криптовалюты, майнинг, программирование

Блиттинг в новой позиции x Pygame

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

Вот код обновления, который перемещает звезду:

def update(self):
    self.mouse_pos = pygame.mouse.get_pos()
    (self.player_r.x, self.player_r.y) = self.mouse_pos

    self.star_r.x = ran_x
    self.star_r.y += 2
    if self.star_r.y > 640:
        self.star_r.y = 0

Вот где гаснет звезда:

def blitPlayer(self, screen):
    screen.blit(background,(0,0))
    screen.blit(self.player,(self.mouse_pos))
    screen.blit(self.star,(ran_x, self.star_r.y))

Я определяю ran_x вне класса вверху следующим образом:

ran_x = random.randint(10,470)

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

Заранее спасибо!!

-ChristianCareaga

04.06.2013

Ответы:


1

Тогда почему бы не пересчитать ran_x здесь:

if self.star_r.y > 640:
    self.star_r.y = 0
    ran_x = new random number
04.06.2013
  • да, это должно сработать, как вы думаете, есть ли простой способ бить по 2 или 3 за раз вместо одного? 04.06.2013
  • @Christian Careaga Сделайте ran_x переменной экземпляра, а не статической или глобальной. например каждая звезда должна быть связана со своим собственным значением координаты x, поэтому star.ran_x 04.06.2013
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..