Задать вопрос
  • Писал код для змейки и появилась ошибка unexpected indent как ее исправить?

    @litlsimp
    Братишка, я вообще не шарю за pygame, но немного подправил тебе код. У тебя не были соблюдены элементарные отступы и т.д. . Разбирайся дальше сам.

    <
    import pygame
    pygame.init()
    width = 640
    height = 480
    display = pygame.display.set_mode((width, height))
    
    pygame.display.update()
    pygame.display.set_caption("Snakee game")
    
    game_end = False
    
    colors = { # colors = {} ...
    "snake_head": (0, 255, 0),
    "snake_tail": (0, 200, 0),
    "apple": (255, 0, 0)
    }
    
    snake_pos = { # snake pos = {} ...
    "x": width /2-5,
    "y": height /2-5,
    "x_change": 0,
    "y_change": 0
    }
    
    snake_size = (10, 10)
    
    snake_speed = 10
    
    while not game_end:   # НЕ БЫЛО ОТСТУПОВ
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                game_end = True
            elif event.type == pygame.KEYDOWN:
    # Движение в лево
                if event.key == pygame.K_LEFT:
                    snake_pos["x_change"] = snake_speed
                    snake_pos["y_change"] = 0
    
                elif event.key == pygame.K_RIGHT:
                    snake_pos["x_change"] = snake_speed
                    snake_pos["y_change"] = 0
    
                elif event.key == pygame.K_UP:
                    snake_pos["x_change"] = 0
                    snake_pos["y_change"] = -snake_speed
    
                elif event.key == pygame.K_DOWN:
                    snake_pos["x_change"] = 0
                    snake_pos["y_change"] = snake_speed
    
            snake_pos["x"] += snake_pos["x_change"]  # что с этими двумя строчками делать я не знаю
            snake_pos["y"] += snake_pos["y_change"]
    
    pygame.draw.rect(display, colors["snake_head"], [
    snake_pos["x"],
    snake_pos["y"],
    snake_size[0],
    snake_size[1]])
    
    
    
    pygame.display.update()
    
    
    pygame.draw.rect( display, (0,255,0), [640/2-5, 480/2-5, 10, 10] )
    
    
    
    pygame.quit()
    quit()
    Ответ написан
    Комментировать