Impulzus

 
A Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Hallgatói Képviseletének lapja
Random cikkajánló

Eszed ezt az SZMSZ-t?

A feladat – I. BME 24 órás programozási verseny

A tervezés csődje

"A legtöbben eléggé szánalmasak..."

Anno universitas

Rekurzív álom

"...de persze ezt is álmodtam, és ez így ment valami őrjítő tempóban..."

Bizonygató

Gondolataim

"Öröktől valónak tetszik, s aki öröktől való, az talán örök."

Csillagtúra

"Na, szépen énekelnek a fiúk?"

Néhány gondolat a modulrendszerről

Szitázó

A feladat

A robotfoci bajnokság egy olyan rendszer, melyen keresztül különböző programnyelveken készült, különböző platformokon futtatott autonóm ügynökök játszhatnak egymás ellen, az európai labdarúgás szabályai szerint. Egy mérkőzés a hagyományos kliens/szerver architektúra keretein belül történik. A fociszerver biztosítja a virtuális focipályát és szimulálja a játékosok, valamint a labda mozgását, a kliens pedig egyetlen focista viselkedését vezérli. A szerver és a kliensek közötti kommunikáció UDP/IP protokollal történik.

A fociszerver két részre tagolódik: a szerverre és a hozzá kapcsolódó monitorra. A szerver szimulálja a labda és a játékosok mozgását, kommunikál a kliensekkel és vezérli a játékot a szabályoknak megfelelően. A monitor megjeleníti a virtuális focipályát, a játékosokat és a labdát. Egy szerverhez több monitor is kapcsolódhat.

Egy kliens a szerverhez UDP/IP protokollal kapcsolódik. A kliens a hálózaton keresztül küldi a játékost vezérlő utasításokat, és fogadja a játékos érzékszervei által közvetített információkat. Más szóval, a kliensprogram a játékos agya: a látottak és hallottak alapján mérlegel, dönt, majd a kívánt cselekvést elküldi a szervernek. Minden kliens egy és csakis egy játékost vezérelhet – ahány játékos van a csapatban, annyi kliens program fut. A kliensek közötti kommunikáció kizárólag a szerveren keresztül történhet, a say és hear utasítások segítségével.

A verseny során a feladat négy modul megírása: kliensek, szerver, monitor és egy webes felület. Az egyes komponenseket külön-külön értékeljük, a kliensekből álló csapat (max. 6 játékos) tudását pedig bajnokságon mérjük össze a többi versenyzőével. A 22. órában még egy kiegészítésre számíthattok, hogy leteszteljük, mennyire jól van megtervezve a rendszer, mennyire tudtok megküzdeni a last minute módosítási igényekkel.