Шестиугольная сетка соседей (изо-путь) - PullRequest
0 голосов
/ 28 августа 2018

Итак, краткий контекст: я пишу сим для игры под названием iso-path, и она имеет гексагональную сетку.

Вы можете проверить, что я уже сделал, нажав здесь

Любая ячейка может перемещаться в соседние ячейки.

the hexagonal grid

Так в коде:

var board = "4567654";

canMove(5, 0); // true
canMove(5, 1); // true
canMove(5, 4); // true
canMove(5, 7); // false

Если фигура находится в начале ряда, она может телепортироваться до конца горизонтально и наоборот.

canMove(22, 27); // true

enter image description here

Я мог бы легко жестко закодировать соседей, но я хочу сделать это процедурно, чтобы я мог изменить конфигурацию платы, и функция будет работать программно.

Доска всегда начинается с числа, увеличивается до секунды и снова уменьшается, например, так:

4567654 (standard)
3456543
1234321
567898765

Доска всегда шестиугольная.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...