Witam, piszę sobie właśnie sztuczną inteligencję do gry Kółko-Krzyżyk. Będzie się ona opierała na algorytmie minimax z odcięciami i mam problem z funkcją oceniającą stan gry. Posiadam takie coś lecz nie działa:
http://4programmers.net/Pastebin/3597
Chcę aby funkcja sprawdzała każdą rząd, kolumne i skosy tak aby zliczała puste pola przed, liczbę znaków koło siebie oraz puste pola po i dla każdych znalezionych kombinacji liczyła i dodawała punkty Np. gdy mamy 4 takie same znaki obok siebie poprzedzonych 1 lub więcej pustych pól a z drugiej strony inny znak to daje określoną liczbę punktów.
1- oznacza kółko
2- oznacza krzyżyk
0- oznacza puste pole
Dla kombinacji 0110100112200 żeby znajdowało:
- Puste pola przed:1
Liczba znaków: 2
Puste pola po: 1 - Puste pola przed:1
Liczba znaków: 1
Puste pola po: 2 - Puste pola przed:2
Liczba znaków: 2
Puste pola po: 0 - Puste pola przed:0
Liczba znaków: 2
Puste pola po: 2
Tutaj dałem wielokrotnie zagnieżdzone if-y i mam pytanie czy to dobry plan, czy może jest jakiś lepszy sposób ponieważ będzie się to wykonywało po kilka tysięcy razy na sekundę i zależałoby mi na wydajności.
Proszę o jakieś wskazówki i z góry dzięki za pomoc