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

Utolsó frissítés: 2020-05-11 01.14