Код определяет направление движения призрака. Движение кодируется в ghosts[g].dir
. 0 означает вправо, 2 означает влево, 1 означает вниз и 3 означает вверх.
Если движение призрака вертикальное (if d == 1 or d == 3
), то оценивается, нужно ли изменить направление движения на горизонтальное направление (0, 2).
Если движение призрака горизонтальное (if d == 0 or d == 2:
), то оценивается, нужно ли изменить направление движения на вертикальное (1, 3).
Если движение в определенном направлении разрешено, сохраняется в списке dirs
.
Например, значение следующих строк кода:
if d == 1 or d == 3:
if player.x > ghosts[g].x and dirs[0] == 1: ghosts[g].dir = 0
- если движение вертикальное (
if d == 1 or d == 3:
) - и игрок находится справа от призрака (
player.x > ghosts[g].x
) - и движение вправо разрешено
dirs[0] == 1
- затем изменить направление движения вправо
ghosts[g].dir = 0