i'm new to python and i've been working on a simple game of cars, where the player has to avoid the enemy car that randomly spawns on top of the screen and keeps going forward. I've been trying to figure out a way for the two cars to collide and after a lot of research i just gave up and decided to post here. This is my code
#load images
bg_img = pygame.image.load('img/bg.png')
car_img = pygame.image.load('img/car.png')
enemy_img = pygame.image.load('img/enemy.png')
#player class
class Player():
def __init__(self, x,y):
self.image = car_img
self.width=80
self.height=150
self.rect = self.image.get_rect()
self.rect.center = (x, y)
self.flip = False
def move(self):
dx=0
dy=0
#keypresses
key = pygame.key.get_pressed()
if key[pygame.K_d]:
dx = 10
self.flip = False
if key[pygame.K_a]:
dx = -10
self.flip = False
#track limits
if self.rect.left + dx < 150:
dx = 0
if self.rect.right + dx > 440:
dx = 0
self.rect.x += dx
self.rect.y += dy
def draw(self):
screen.blit(self.image, (self.rect.x , self.rect.y))
pygame.draw.rect(screen, WHITE, self.rect, 2)
#enemy class
class Enemy():
def __init__(self, x, y):
self.image = enemy_img
self.width = 80
self.height = 150
self.rect = self.image.get_rect()
self.rect.center = (x, y)
self.speed = 5
self.flip = False
def draw(self):
screen.blit(self.image, (self.rect.x , self.rect.y))
pygame.draw.rect(screen, WHITE, self.rect, 2)
self.rect.y = self.rect.y + self.speed
enemy_position = self.rect.y
if self.rect.y > 590:
x = random.randint(190,400)
y = 60
self.rect.center = (x, y)
self.speed += 0.2
car = Player(300 , 500)
enemy = Enemy(300, 70)
run = True
while run:
clock.tick(FPS)
car.move()
screen.blit(bg_img, (0,0))
car.draw()
enemy.draw()
for event in pygame.event.get():
#
if event.type == pygame.QUIT:
run = False
pygame.display.update()
pygame.quit()