Obecnie piszę grę typu scrabble w języku C#. Mogę dostać komputer, aby znaleźć słowo o najwyższej wartości punktowej, które może być wykonane przy użyciu bieżącej szafy, jednak nie mam pojęcia, jak sprawdzić, czy to słowo jest "możliwe do umieszczenia" na planszy 15 * 15 (tablica 2D: ciąg [,]).Scrabble Word Placement C#
w jego stan domyślny (bez liter na planszy), wszystkie elementy są ustawione na 0.
Czy wolno
---------------
-------H-------
-------E-------
-----FILL------
-------L-------
-------O-------
---------------
Jak mogę sprawdzić, czy słowo nie jest, na przykład:
nie jest dozwolone
---------------
-H-------------
-E-------------
FILL------------ <-- F is out of bounds
-L-------------
-O-------------
---------------
nie jest dozwolone
---------------
-H-------------
-E-W-----------
-L-O-----------
-L-R-----------
FOLL----------- <-- Fill is overlapping with O
---D-----------
Myślę, że musisz sam to sprawdzić - sprawdź granice i sprawdź istniejące litery w miejscu. Nie ma na to żadnego oczywistego algorytmu, więc musielibyśmy zobaczyć Twój kod, aby powiedzieć Ci, co masz robić. Ale nie może być * to * trudne. Sprawdzanie granic: czy już tego nie wiesz, ponieważ musisz sprawdzić trzyliterowe tabliczki wyników itp.? – Rup
Również "2D Array: string [,]" - Masz ciąg znaków dla każdego kwadratu? nie char? – Rup
Tylko jedna sugestia: co zrobić, jeśli zamiast spojrzeć na płytki w szafie, zidentyfikujesz wszystkie miejsca na planszy, gdzie może znaleźć się słowo? Zdaję sobie sprawę, że łatwiej to powiedzieć niż zrobić, ale myślenie o problemie w inny sposób może doprowadzić cię do przełomu. – FishBasketGordo