0

Hey i'm trying to move an image in python with either arrow keys or WASD but i keep getting an indent error

File "1stgame.py", line 43 elif event.key == pygame.K_RIGHT: ^ IndentationError: unindent does not match any outer indentation level

import pygame

#Start pygame

pygame.init()

#Window/Screen/Display

display_x = 1280
display_y = 720
display = pygame.display.set_mode((display_x,display_y))
pygame.display.set_caption('Platforms')

clock = pygame.time.Clock()

#Colors

black = (0,0,0)
green = (1,166,17)

#Images
character = pygame.image.load('character.gif')
def chrctr(x,y):
    display.blit(character,(x,y))
x_c = (display_x  / 2)
y_c = (display_y / 2)

floor_1 = pygame.image.load('wood.jpg')
def floor(x,y):
    display.blit(floor_1,(x,y))
x = (display_x * 0)
y = (display_y * 0.9)

not_dead=True
while not_dead:
    for event in pygame.event.get():
        if (event.type==pygame.QUIT):
            not_dead=False 

        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                x_c = -5
            elif event.key == pygame.K_RIGHT:
                x_c = 5
        if event.type == pygame.KEYUP:
            if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
                x_c = 0

    display.fill(green) 
    pygame.draw.rect(display, black, [0, 550, 200, 50])
    pygame.draw.rect(display, black, [0, 450, 200, 50])
    pygame.draw.rect(display, black, [0, 350, 200, 50])
    pygame.draw.rect(display, black, [0, 250, 200, 50])
    pygame.draw.rect(display, black, [0, 150, 200, 50])
    pygame.draw.rect(display, black, [0, 50, 200, 50])
    pygame.draw.rect(display, black, [1080, 550, 200, 50])
    pygame.draw.rect(display, black, [1080, 450, 200, 50])
    pygame.draw.rect(display, black, [1080, 350, 200, 50])
    pygame.draw.rect(display, black, [1080, 250, 200, 50])
    pygame.draw.rect(display, black, [1080, 150, 200, 50])
    pygame.draw.rect(display, black, [1080, 50, 200, 50])

    floor(0,display_y * 0.9)
    floor(236, display_y * 0.9)
    floor(472, display_y * 0.9)
    floor(708, display_y * 0.9)
    floor(944, display_y * 0.9)
    floor(1180, display_y * 0.9)
    chrctr(x_c, y_c)


    pygame.display.update()
    clock.tick(60)
print "Hello"

pygame.quit()

1 Answers1

0

Your code is correct, it ran in my computer without error. Possibly you accidentally indented wrong in your source code. But the one you posted above worked magnificently, though it doesn't work quite as you expected to.

And as a side note, I would also suggest you to add the brackets around "hello" for print to make it version compatible print("hello").

Taku
  • 31,927
  • 11
  • 74
  • 85
  • thanks i don't know how the code changed from notepad++ to here but it works for me now 2. thanks i knew i forgot something print ("hello) – jmonster555games Jan 29 '17 at 01:02