1) ponieważ plansza ma stały rozmiar, który i tak zamierzasz karmić AI, możesz po prostu przedstawić ją jako jednowymiarową tablicę z odpowiednią liczbą komórek, gdzie każda komórka reprezentuje przestrzeń na tablica. Mapowanie tej jednowymiarowej tablicy na ekranie może być trochę dziwne, ale jest to problem, który musisz rozwiązać tylko raz.
To samo dotyczy sprawdzania poprawności ruchów; możesz albo utworzyć macierz przylegania, która mówi, które komórki sąsiadują z innymi, albo wymyślić logikę, aby określić przyleganie. Tak czy inaczej, byłby to jednorazowy koszt.
2) Zauważ, że każda siatka sześciokątna jest również siatką dwuosiową, z tym wyjątkiem, że osie mają odstęp 60 lub 120 stopni względem siebie, zamiast 90 stopni, podobnie jak siatki, w których X i Y są prostopadłe. (Stare gry planszowe z sześciokątnymi kafelkami używały tej sztuczki do oznaczania heksów 1, 2, 3 w jednym kierunku, a AA, BB, CC w drugim, przekrzywionym, w kierunku.)
Przyjrzałem się kodowi źródłowemu komputerowych implementacji gier planszowych, które używają (2), i dostarczyły one procedury takie jak „znajdź linię między heksami” lub „znajdź odległość między heksami”. To było dawno temu, więc szczegóły są zgubione w czasie, ale pamiętam, że nie było to zbyt trudne.
(To była bardziej matematyka całkowita niż rzeczy pitagorejskie.;))