Задать вопрос
godo212
@godo212

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

вот код начальный для движения змейки
mport 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 = {}
	"snake_head": (0, 255, 0),
	"snake_tail": (0, 200, 0),
	"apple": (255, 0, 0)



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()
  • Вопрос задан
  • 154 просмотра
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
  • Воспользоваться переводчиком, текст ошибки предельно конкретный.
  • Воспользоваться поиском, тут сотни таких вопросов от недоучек.
  • Прочитать учебник, чтобы понимать хотя бы самые базовые правила языка.
Ответ написан
Комментировать
@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()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы