-1

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()
Rabbid76
  • 202,892
  • 27
  • 131
  • 174

0 Answers0