webspace hosting reseller hosting| web hosting| blog| forum| dating| free hosting| openhost| report abuse
Internet Fax To Email - Unlimited

Unlimited Faxes, No Fees, Dedicated Phone Number

Free Website Templates

| Početna | O sajtu | Pravila | Spisak takmičara | Rezultati | Download | Robocode |


OPŠTA PRAVILA

Da bi ste učestvovali, pre svega je potrebno da poznajete neki od programskih jezika, i da imate instaliran kompajler za njega. Takođe je neophodno da vam programiranje nije mrsko, već da ga volite dovoljno da želite da se takmičite sa drugim osobama sličnim sebi. Ukoliko to zadovoljavate, dalje ćemo lako.



PRAVILA IGRE "4 In Line"

Radi se o jednoj od logičkih igara sa veoma jednostavnim pravilima. Na početku je data prazna tabla sa poljima. Ovog puta odabrano je da tabla po širini ima 10 polja, a po visini 15. Niz horizontalnih polja je red, dok se vertikalni niz polja naziva kolona.

Igru igraju dva igrača. Na početku igre tabla je potpuno prazna i čeka se potez prvog igrača. On bira jednu od 10 kolona u koju će ubaciti kružić svoje boje. Izborom kolone, kružić pada od vrha kolone ka dnu. Zaustavlja se ili kada naiđe na već postavljen kružić, ili kada dođe do dna prazne kolone. Prilikom prvog poteza kružić će sigurno pasti na dno odabrane kolone jer su sve kolone na početku prazne.

Nakon prvog, igrači naizmenično postavljaju po jedan kružić svoje boje na proizvoljnu kolonu. Kružići prvog igrača su crveni, a drugog plavi. Pobednik igre je igrač koji prvi uspe da postavi bar četiri svoje kuglice u liniju, jednu do druge. Prihvataju se kružići poređani i horizontalno i vertikalno i dijagonalno.

NAPOMENA: Kako su rezultat sukobljavanja kompjuterskih algoritama bez random poteza uvek iste partije, pravila igre će se neznatno izmeniti u cilju izbegavanja ove neželjene posledice koja donekle smanjuje zanimljivost igre. Naime, pre početka partije, računar će odabrati određen broj polja na koja će postaviti neutralne kuglice koje će jednostavno zauzimati mesto na tabli i time svaku partiju učiniti jedinstvenom. Broj početnih kuglica će biti između 0 i 6. U sledećem odeljku o realizaciji programa su dati detalji oko potrebne izmene koda.


ODIGRAVANJE TURNIRA

Turnir se odigrava sa uključenim ograničenjem od dve sekunde za odigravanje poteza. Igrač koji prekorači to vreme i ne vrati potez, automatski gubi partiju. Računar koji pokreće game engine na turniru, zasnovan je na procesoru AMD Sempron 2600+ (1833 MHz).


REALIZACIJA PROGRAMA

Da biste se prijavili potrebno je da napravite program koji će se boriti protiv programa dugih takmičara. Zahtev je prilično jednostavan. Treba napraviti DLL sa dve eksportovane funkcije. Prva je:

int GameMove(int n);

Vrednost argumenta n koju dobijete predstavlja prethodni potez protivnika, tačnije kolonu koju je on odabrao. Indeksi kolona su od 0 do 9. Specijalan slučaj je ukoliko dobijete vrednost -1. To znači da je početak igre, da je tabla prazna, i da ste vi na potezu. Funkcija treba da vrati vaš potez, dakle broj kolone u koju želite da postavite vaš kružić.

U slučaju da funkcija nekog takmičara pošalje neispravan indeks kolone, ili indeks kolone popunjene do vrha, partiju automatski dobija njegov protivnik. Postoji i ograničenje u vremenu dozvoljenom za odigravanje jednog poteza. Radi testiranja, u programu je ostavljena mogućnost isključenja ograničenja, ali će se na turniru sve partije odigravati sa vremenskim ograničenjem jednog poteza od 2 sekunde.

Za postavljanje početnih neutralnih kuglica potrebno je eksportovati drugu funkciju:

int TableSetupMoves(int n, int* arr);

Vrednost argumenta n predstavlja broj neutralnih kuglica koji je računar odabrao da postavi pre početka partije. Njihovo postavljanje treba vršiti analogno odigravanju regularnog poteza. Pokazivač na mestu drugog argumenta upravo prestavlja niz tih poteza, dakle brojeva kolona u koje treba postaviti neutralne kuglice. Radi kontrole, funkcija treba da vrati zbir brojeva kolona koji je primila.

Postavljanje početnih neutralnih polja uvrstiće se u pravila na četvrtom turniru. Od tada će učestvovati samo prijavljeni dll-ovi sa obe eksportovane funkcije.


OBJAVLJIVANJE REZULTATA

Objavljivanje rezultata prvih turnira podrazumevalo je i objavljivanje dll-ova takmičara. Počevši od trećeg turnira, na sajt se neće postavljati dll-ovi koji su učestvovali. Tako će jedini zaključci o načinu igranja igrača moći da se dobiju iz odigranih partija.

e-mailView this page in English Dizajnira i vodi Nenad Tešović