Я очень начинающий программист, и я пытаюсь сделать свою первую игру в pygame. Я хочу иметь врагов, которые появляются так часто и перемещаются случайным образом. Когда герой (управляемый мышью) сталкивается с одним из них, игра заканчивается. Я планирую просто сделать врага простым кругом, герой - это просто простой круг.Несколько движущихся фигур в pygame?
ответ
Я не собираюсь сделать для вас код, но вот то, что вам нужно сделать
Blit врагов на экране в точке или в случайных координатах
случайным образом изменить координаты или направление врага, чтобы он случайно перемещался
то вам нужно было определить, касается ли героя к нему врага, для этого вы можете использовать pygame.Rect.colliderect (вам понадобится t о заставить игрок и враги прямоугольники)
затем сделать что-то, если два касания
вы можете сделать, может быть более простой игрой для Youre первой, но это может быть хорошим вызов также вы , безусловно, необходимо использовать произвольный модуль, чтобы получить случайный Интс и такие
, чтобы сделать изображение икры каждые х секунд здесь пример код:
import math, sys, os, pygame, random, time
pygame.init()
screen = pygame.display.set_mode((500,500))
pygame.display.set_caption('Example')
black = (0, 0, 0)
def shapeBlit():
screen.fill(white)
smiley = pygame.image.load('picture.jpg')
x = random.randint(1,100)
y = random.randint(1,100)
screen.blit(smiley,(x,y))
c = 0
done = False
while done==False:
for event in pygame.event.get(): # User did something
if event.type == pygame.QUIT: # If user clicked close
done=True # Flag that we are done so we exit this loop
screen.fill(black)
while c == 0:
shapeBlit()
pygame.display.flip()
time.sleep(5)
pygame.quit()
это сделает изображение регенерированным каждые 5 секунд в случайном месте, но вы хотите, чтобы изображение было прямым, а не просто ярким изображением. Также вам может потребоваться переключить несколько вещей, но это только основная идея.
thank я понимаю движение и случайное размещение, купите проблему mt, я не знаю, как порождать один, скажем каждые 15 секунд, неопределенно. –
, так что вы хотите, чтобы первый исчез, когда следующий из них появится: – Serial
посмотрите на мою Редактировать! также вы можете использовать что-то другое, отличное от time.sleep, потому что это полностью останавливает вашу программу в течение 5 секунд, и ничего не произойдет, это просто пример, который вы можете понять, – Serial