Я сейчас пишу игру, похожую на скрэббл, на C #. Я могу заставить компьютер найти слово с наивысшим значением точки, которое может быть получено с использованием текущей стойки, однако я не знаю, как проверить, является ли это слово «Размещаемым» на игровой доске 15 * 15 (2D Array: string [,] ).
В состоянии по умолчанию (без букв на доске) все элементы установлены на 0.
Допускается
---------------
-------H-------
-------E-------
-----FILL------
-------L-------
-------O-------
---------------
Как я могу проверить, не является ли слово, например:
не допускается
---------------
-H-------------
-E-------------
FILL------------ <-- F is out of bounds
-L-------------
-O-------------
---------------
не допускается
---------------
-H-------------
-E-W-----------
-L-O-----------
-L-R-----------
FOLL----------- <-- Fill is overlapping with O
---D-----------