GNIAZDO: "Steallar"

Stellar
- informacje dla programistów -


    "Sztuczna inteligencja" dla gry "Stellar" znajduje się w bibliotece DLL. Podczas wyboru nowej gry należy wskazać plik biblioteki, z którego ma korzystać komputerowy przeciwnik. Zachęcam do napisania własnej obsługi sztucznej inteligencji - implementacja dostarczana wraz z programem jest niestety słaba. Poniżej przedstawiono potrzebne informacje dla programistów. Gotową bibliotekę można porównań z innymi wybierając je odpowiednio w menu nowej rozgrywki.

    Główny program komunikuje się z biblioteką poprzez trzy funkcje, które muszą się w niej znaleźć. Pierwsza o nazwie MozgUtworz(...) służy do zainicjowania modułu sztucznej inteligencji. Program wywołują ją za każdym wybraniem opcji "Nowa Gra", tuż przed rozpoczęciem rozgrywki. Argumentami funkcji są m. in. wskaźniki na tablice ze współrzędnymi pionków sztucznej inteligencji i przeciwnika oraz wskaźnik na tablicę, w której przechowywana jest lista posunięć jakie ma wykonać sztuczna inteligencja. Zasadniczą funkcją biblioteki jest MozgMysl(...). Program wywołuje ją gdy sztuczna inteligencja ma wykonać ruch. Funkcja ta zapełnia tablicę z listą posunięć, które następnie wykonuje główna część programu (poza biblioteką). Zatem biblioteka sztucznej inteligencji tylko określa jakie posunięcia ma wykonać komputer, ale nie uruchamia żadnych funkcji czy procedur, które by je wykonywały. Troszczy się o to główny program. Ostatnią funkcję - MozgUsun(...) - wywołuje się raz na zakończenie rozgrywki z udziałem biblioteki. Sztuczna inteligencja ma wtedy okazję posprzątać po sobie, tj. zwolnić na przykład zarezerwowaną pamięć. Poza tymi trzema funkcjami reszta zależy od inwencji programisty. W zamieszczonych dalej szczegółowych opisach funkcji typ "int" oznacza czterobajtowe liczby całkowite.


void MozgUtworz(int id, int* _Plansza,
    int _plansza_nx,int _plansza_ny,
    int *_xy_mozg,int *_xy_wrog,
    int *_Mozg_wynik_tab)



void MozgMysl(int id)

Funkcja uruchamia proces "myślenia" sztucznej inteligencji. Wynik, czyli listę ruchów do wykonania, zapisuje w tablicy, której wskaźnik podano w funkcji MozgUtworz(...).



void MozgUsun(int id)

Kończy pracę sztucznej inteligencji o podanym identyfikatorze.


    Funkcje biblioteki nie mogą (tzn. nie powinny aby nie zawiesić programu) modyfikować żadnej tablicy poza Mozg_wynik_tab. Wszystkie wspomniane tablice sa tworzone i usuwane przez główny program.




Przejdź do opisu "Stellara".

Przejdź do strony głównej GNIAZDA.

Przejdź do listy wszystkich opisanych gier.