Ja proponuję zrobić namiastkę sztucznej inteligęcji (podobną do tej, którą robię w moich AI Warcabach).
Polega to na tym, że program zapisuje wszystkie posunięcia swoje i przeciwników w pliku na dysku i wzależności i od tego czy wygra partię w następnych rozgrywkach stosuje podobne strategie (jeśli wygra gracz program będzie stosował jego posunięcia).
Jak to rozwiązać technicznie? :
- masz plik zawierający listę ustawień planszy, gdzie należy strzelić, ile razy wygrał ten kto tak grał i ile razy przegrał.
np: <plansza zapisana binarnie (przekształcasz zmienne z byte na char pamiętaj: wartość char=#0 zamyka ciąg >> nie możesz jej stosować) >< dwa bajty zapisujące współżędne strzału(też binarnie jak wyżej)><jlość wygranych><jakiś znak oddzielający><jlość wygranych>
- sytuację z gry dopasowujesz do tych zawartych w bazie danych (obracasz planszą, dopasowujesz kawałki itp >> musisz zrobić jakiś dobry algorytm) >> robisz w ten sposób listę "opłacalnych ruchów" (każdemu przypisujesz odpowiednie prawdopodobieństwo skuteczności - w zależności od tego jak często on wygrywał). (taka lista przy planszy 10*10 będzie zawierać maksymalnie 100 pól)
- losujesz ruch z poprzednio spożądzonej listy (według wcześniej ustalonych prawdopodobieństw skuteczności) (ludzie też nie zawsze wybierają ruch, który wydaje się najlepszy)
Oczywiście po skończeniu rozgrywki musisz uaktualnić bazę AI
P.S. Proponuję też zrobienie możliwości uaktualnienia jej przez internet i jeśli użytkownik jest on-line wysyłanie jego bazy AI do ciebie (na serwer).
Potrzebyjesz takrze jakiegoś systemu awaryjnego (np jakby ruch wystąpił po raz pierwszy i nie dało go się dopasować do żadnej z jóż zapisanych strategii >> np taki jak w pierwszej odpowiedzi)
--Sebo +)
(D3)