1) оскільки плата має фіксований розмір, який ви все одно збираєтеся подавати в AI, ви можете просто представити це як одновимірний масив з потрібним числом комірок, де кожна комірка представляє пробіл на дошки. Зображення цього одновимірного масиву на екрані для презентації може бути трохи дивним, але це проблема, яку вам доведеться вирішити лише один раз.
Те саме стосується і валідації ходів; ви можете або створити матрицю суміжності, яка вказує, які клітини примикають до інших, або придумати логіку для визначення суміжності. Так чи інакше, це була б разова вартість.
2) Зауважте, що кожна шестигранна сітка також є двоосьовою сіткою, за винятком того, що осі розташовані на відстані 60 або 120 на відстані одна від одної, а не на 90 градусів, як сітки, де X і Y перпендикулярні. (Старі шестигранні настільні ігри використовували цей трюк для позначення шестигранників 1, 2, 3 в одному напрямку, а AA, BB, CC в іншому, перекошений, напрямок.)
Я переглянув вихідний код комп’ютерних реалізацій настільних ігор, які використовують (2), і вони запропонували підпрограми на кшталт "знайти лінію між шестигранниками" або "знайти відстань між шестигранниками". Це було давно, тому деталі втрачені часом, але я пам’ятаю, це було не надто важко.
(Це було більше цілої математики, а не піфагорійської речі;;))