BMX
BME Stock Exchange játék
Ezzel a játékkal kedvet szeretnék csinálni a C++ programozáshoz, általában a programozáshoz.
A játék pillanatnyi állása itt tekinthető meg.
A BMX játékban bárki részt vehet, akinek van ural2 témaszáma (loginnév).
A játékhoz egy egyszerű C++ programot kell készíteni, ami értékpapírokat ad, ill. vesz egy virtuális tőzsdén. Minden játékos azonos mennyiségű fizetőeszközt, ill. értékpapírt kap egy-egy futam kezdetén, amellyel gazdálkodhat. Minden futam előre meghatározott számú körből áll. Minden egyes körben minden játékos azonos feltételekkel vásárolhat, ill. adhat el. A játék célja a lehető legnagyobb vagyon elérése a futam végére. Naponta több futam lesz, minden futam pontosan megadott időben kezdődik. A futamok eredményeit összesítjük.
A tőzsde persze nem valóságos, és nem is tükrözi egy valós piac működését, csak hasonlít ahhoz. Az egyes körökben alkalmazott eladási/vételi árakat maga a piacteret megvalósító szerver program határozza meg a kereslet/kínálat alapján.
Részletesebben
- A játékban értékpapírokat (vagy valamilyen képzeletbeli értékeket) lehet venni és eladni.
- A játékot önálló programok játsszák, melyeknek egy előre meghatározott időben futniuk kell az ural2 szerveren.
- A játékra jelentkező programokat egy központi ütemező – bróker_szerver – regisztrálja, majd megnyitja a piacot (futamot).
- A piacnyitáskor a bróker_szerver közli minden játékossal, hogy az adott futam hány körből áll, azaz hányszor lehet majd venni/eladni és azt, hogy mi a játékos a induló vagyona.
- Ezután a szerver sorban megkérdez minden játékost, hogy a kínált árért akar-e vásárolni és/vagy eladni, és ha igen, akkor mennyit.
- Miután minden játékos válaszolt, a broker_szerver kialakítja az új árakat, és újból megkérdez mindenkit.
- Ezt a műveletet ismétli a szerver, amíg a megfelelő számú kör (kereskedés) le nem zajlik.
- Ezután a broker_szerver minden programot értesít a piac bezárásáról.
Jutalom
Több kategóriában hirdetünk versenyt. Minden kategóriában csokoládét, és elismerést (vállveregetést) kap az első 3 helyezett. Kategóriák:
- Megszerzett vagyon,
- Súlyozott helyezések (napi helyezések összesítése).
Megszorítások
- Egy ural2 témaszámról egyszerre csak egy program futhat. Ha több programot indít valaki, akkor az adott felhasználó véletlenszerűen kap kérdéseket, melynek az eredménye nehezen megjósolható. A későbbiekben ki fogjuk zárni az adott futamból a felhasználót.
- Az ún. callback technikával meghívott felhasználói függvényeknek (Nyitas(), Kereskedes(), Zaras()) 5 másodpercnél rövidebb idő alatt be kell fejeződniük. Ellenkező esetben az adott játékos programját megállítjuk, így kizárjuk az adott futamból.
- Az egyes futamok függetlenek egymástól. Csak az eredményeket fogjuk összesíteni.
- A broker_szerver "végtelen mennyiségű" értekkel van ellátva, sohasem fogy el a készlete ill. mindent megvesz, amit felkínálnak neki.
- Az árképzési stratégiát változtatni fogjuk.
- 2020. május 17-ig tesztelési időszak van. Ezen időszakban a futamokat ugyanúgy indítjuk, mint az éles verseny alatt, de az összegyűlt adatokat, eredményeket az éles verseny kezdetén töröljük.
- Az éles verseny 2020. május 18-án kezdődik és május 25-én befejeződik.
- A futamokat minden nap óra 10-kor indítjuk 14:10 és 23:10 között. Azt javasoljuk, hogy már óra 00-kor indítsák el játékosaikat, de ne korábban mint egész óra 55!
- A tesztelést egy külön teszt szerver is segíti ami minden negyedórában (00, 15, 30. 45) fut. A tesztelés beállításait ld. később.
Jó szórakozást kívánunk.
Szeberényi Imre, Dóbé Péter, Kápolnai Richárd