Algorytm określania przekroczenia Tic Tac Toe

Napisałem grę w kółko i krzyżyk w Javie, a moja obecna metoda określania końca gry uwzględnia następujące możliwe scenariusze zakończenia gry:

Plansza jest pełna, a żaden zwycięzca nie został jeszcze ogłoszony: Gra to remis.Cross wygrał.Wygrał Circle.

Niestety, aby to zrobić, odczytuje predefiniowany zestaw tych scenariuszy z tabeli. Niekoniecznie jest to złe, biorąc pod uwagę, że na planszy jest tylko 9 pól, a zatem tabela jest nieco mała, ale czy istnieje lepszy algorytmiczny sposób określenia, czy gra się skończyła? Ustalenie, czy ktoś wygrał, czy nie, jest problemem tego problemu, ponieważ sprawdzenie, czy 9 ​​spacji jest pełne, jest banalne.

Rozwiązaniem może być metoda tabelowa, ale jeśli nie, to co? Ponadto, jeśli deska nie była wielkościn=9? Co, jeśli powiedzmy, byłaby to dużo większa deskan=16, n=25i tak dalej, dzięki czemu liczba kolejno umieszczanych przedmiotów wygrax=4, x=5, itp? Ogólny algorytm do użycia dla wszystkichn = { 9, 16, 25, 36 ... }?

questionAnswers(21)

yourAnswerToTheQuestion