JAK TO FUNGUJE aneb STRUCNY PRUVODCE TIMTO ENGINEM
obsah: uvod, vstupy a vystupy: page 1/12

vstupy a vystupy
prvni tahy
zakladni analyza
RCboard pravidla
prvni 2 vrstvy
flag pravidla (1D)
flag kombinace (2D)
LM tahy
three struktura
delay pravidla
posledni analyza

shrnuti



switch language:

ENGLISH
CESKY

jdi na stranku:
pixoria main


Tento HTML dokument se vztahuje ke zdrojovemu kodu v jazyce C++ prilozenemu k im007 a mel by prispet k jeho lepsimu pochopeni.
Instalacni soubor pixoria_plugin_im007.exe je stejne jako hlavni program (Pixoria) ke stazeni na internetove adrese: pixoria.eu
Po instalaci im007 je zdrojovy kod (soubor sampleEngine.cpp) k nalezeni v:
Pixoria/plugins/iM007/source_im007/sampleEngine.cpp

Engine je podprogramem hlavniho programu jmenem Pixoria (pixoria.eu).
Ukolem enginu je na zaklade vstupnich dat (otazka) poslat Pixorii tuto odpoved: ktere volne policko na hraci plose ma byt obsazeno znakem enginu.

Engine analyzuje na nekolika ruznych urovnich vstupni data a vytvari si zasobu (mnozinu) moznych odpovedi. Kazde nalezene odpovedi (volnemu policku) priradi podle sveho uvazeni nejakou hodnotu. Ve vstupnich datech se snazi najit predem definovane struktury a pri hodnoceni tahu se ridi jejich hiearchii. Nakonec vybere ze sve zasoby odpovedi jednu z tech nejvyse hodnocenych a posle ji Pixorii ( dMove ).

Pixoria poskytuje informaci o momentalnim stavu na hraci plose v poli:

char board[]

ktere obsahuje 361 znaku. Te to jediny zdroj informaci z Pixorie, ktery engine pouziva. Hraci plocha je v Pixorii ctvercova a ma rozmery 19 krat 19, to je celkem 361 policek. V poli se ruzne opakuji jen tyto 3 znaky (priklad):

... N N N O N X X O N ...
N - oznacuje neobsazene policko (none).
X - oznacuje policko obsazene prvnim hracem.
O - oznacuje policko obsazene druhym hracem.
Protoze hraci plocha je (dvourozmerna) plocha, prepise engine vstupni jednorozmerne pole [361] do pole poli (dvourozmerneho pole) [19][19]:

char matRCboard[][]

To pro lepsi orientaci ve vstupnich datech.
Pri tom engine spocita kolik je na hraci plose neobsazenych (
N ) policek. Tak engine zjisti, kym je. V Pixorii hru vzdy zacina hrac ( X ). Hraci pole ma celkem 19 * 19 = 361 policek. To je liche cislo a z toho plyne: kdyz je pocet ( N ) lichy, jsi prvni hrac ( X ), jinak jsi druhy ( O ) hrac.

who = empty % 2; //1 = X (you are X), 0 = O ...

Vystupni informaci engine posle Pixorii prostrednictvim promenne dMove:
return dMove
coz je cislo v intervalu (0, 360), ktere oznacuje pozici nejakeho znaku N ve vstupnim poli board .

Pixoria poskytuje informaci o tom, ktery hrac (X, O) je nyni na tahu, v prommenne:
char square. Engine ji vsak nepouziva.
Engine nepocita se zmenou celkovych rozmeru hraciho pole.



go top independent Machines develop lab (2013) page 1/12