Другим способом было бы иметь 2 boolean
матрицы с именами Hor
и Ver
для отслеживания возможности горизонтального и вертикального перемещения соответственно.
Hor Matrix
: Размер: 6x9
[X,YZ]
представляет возможность горизонтального перемещения от [X,Y]
до [X,Z]
на реальной доске.
-1
представляет границу
пример: [A,01]
- это true
, как и [F,-10]
. Но [B,23]
это false
.
-10 01 12 23 34 45 56 67 7-1
A
B
C
D
E
F
Аналогично
Ver Matrix
: Размер: 7x8
[XY,Z]
представляет возможность вертикального перемещения от [X,Z]
до [Y,Z]
на реальной доске.
Capital o
в строке обозначают границу.
пример: [DE,0]
- это true
, а также [BC,7]
. Но [CD,0]
- это false
.
0 1 2 3 4 5 6 7
OA
AB
BC
CD
DE
EF
FO