0

The code is isn't running, it is a Pygame code for a race game, everytime I try to run it, it says ImportError: No module named Pygame. I don't have any idea if this code has any other problems, so as far as I know it is only the Import Error. Can you help me solve the Import Error and any other problems that occur?

import pygame
import time

pygame.init()

display_width = 800
display_height = 600

black = (0,0,0)
white = (255,255,255)
red = (255,0,0)

car_width = 73

gameDisplay = pygame.display.set_mode((display_width,display_height ))
pygame.display.set_caption('A bit Racey 3')
clock = pygame.time.Clock()

def carImg():
    pygame.image.load('racecar.png')

def car(x,y):
    gameDisplay.blit(carImg,(x,y))

def game_loop():

    x = (display_width * 0.45)
    y = (display_height * 0.8)

    x_change = 0

    gameExit = False

    while not gameExit:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                gameExit = True
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_LEFT:
                    x_change = -5
                elif event.key == pygame.K_RIGHT:
                    x_change = 5


            if event.type == pygame.KEYUP:
                if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
                    x_change = 0

        x += x_change


        gameDisplay.fill(white)
        car(x, y)

        if x > display_width - car_width or x < 0:
            gameExit = True

        pygame.display.update()
        clock.tick(60)


game_loop()
pygame.quit()
quit()

1 Answers1

0

pygame.image.load() loads an image and returns the a Surface object. Your surface goes to nowhere:

def carImg():
   pygame.image.load('racecar.png') 

carImg has to be a variable rather then a function. Assign the Surface object to carImg:

carImg = pygame.image.load('racecar.png') 
Rabbid76
  • 202,892
  • 27
  • 131
  • 174
  • I did that, but it still says ImportError: No module named 'pygame', what do I do? –  Apr 11 '20 at 07:23
  • @codylehmann My answer doesn't solve your issue, but it points out a bug in your application. – Rabbid76 Apr 11 '20 at 07:26
  • Thank you for help, I added what you suggested, do you have any suggestions to fix this bug? –  Apr 11 '20 at 07:41
  • Usually the “no module named” error occurs when the package is not installed in the expected location. When you run ‘pip show pygame’ does the installed path show under the output from ‘python -c “import sys; print(sys.path)”’ – vulpxn Apr 11 '20 at 09:06