Coding Tomorrow Cup

Coding Tomorrow Cup

Coding Tomorrow Cup

Loading Likes...

Csapatunk [Hervay Bence, Albert Márton és Tóth Ambrus] talált magának egy új kihívást. Induljunk egyetemistáknak szervezett versenyeken! Az Ericsson programozó bajnokságot is szervező Ecosim-től egy hírlevélben értesültünk a Coding Tomorrow Cup-ról. A versenyt a kormányrendszereket gyártó Thyssenkrupp szponzorálta, aminek az egész fejlesztői részlege Budapesten található, így szükségük van munkaerőre, dehát itt van is…

Az első fordulóban egy virtuális önvezető autót irányító programot kellett írnunk egy általunk választott programozási nyelven (ami nekünk a Java volt), és minnél több utast el kellett szállítani egy bizonyos idő alatt a céljukhoz. Ezen a fordulón a kihívást egyedül az jelentette, hogy hogyan kell csatlakozni a játékszerverhez, ezután már minden simán ment.

Írtunk egy saját megjelenítőt a programunkhoz, hogy valós időben tudjuk látni az esetleges hibákat, és ne csak számokat kelljen nézegetnünk.

fekete blokk: út; világosabb kék blokk: járda; sötétkék blokk: fű; piros X: fa; piros pötty: akadály; zöld téglalap: a mi autónk; zöld kör: utas; zöld lukas kör: az utas célja

A középdöntőben már jobban meg kellett küzdeni az életben maradásért, ugyanis raktak be random, de a közlekedési szabályoknak megfelelően menő autókat, amiknek nem volt ajánlott nekimenni, mert az HP-vesztéssel járt (health point). Beleépítettük a programba, hogy csak a jobb oldalon tudjunk haladni, és a körforgalmakban az óramutató járásával ellentétes irányban menjünk, valamint azt, hogy prediktálni tudjuk az egyes autóknak a viselkedését, és hogy hol lesznek a következő néhány pillanatban. Így az ütközéseket sikerült teljes mértékben kiküszöbölnünk, és közben kijavítottunk pár problémát is, így már el tudtunk szállítani 31 utast is egy kör alatt. A döntőbe a legjobb húsz csapat jutott be, mi tizenegyedikek lettünk. (Csak egyetemista & szenior csapatok között 😅)

A döntőben beraktak egy újfajta akadályt: a vonatokat. Ezek teljesen kiszámítható menetrenddel közlekedtek, sose késtek (mivel konstans sebességgel haladtak és sose álltak meg), de elég forgalmas útszakaszokon mentek keresztül, és ha elcsaptak, akkor instant halál következett be. Ezt úgy tudtuk elkerülni, hogy a vonatsín előtt mindig lelassítottunk, és akkor könnyebben eldönthető volt, hogy van-e előttünk vonat, avagy sem. Később az első helyezett Search AllStars csapat elmondta, hogy ők fogtak egy jó erős gépet, és minden mozgó entitásnak előre megtervezték a legvalószínűbb útját. Így biztosan a legrövidebb utat választották, mivel beleszámolták az időbe azt is, hogy a mozgó akadályok előtt meg kell állni, és megvárni amíg odébb megy.

Piros csíkok: vonatok

A döntő a 12. kerületi Laurus Étteremben volt megszervezve április 26-án, ahol csaknem a döntő egész ideje alatt korlátlanul fogyaszthatók voltak finomabbnál finomabb (és drágábbnál drágább 😅) ételek. Ennek persze nagyon örültünk, és éhesebb perceinkben ki is használtuk.

A döntőn az egyes csapatok programjai egyszerre futottak, és ligákba rendezve mérkőztek meg az egyes csapatok. Az első futtatás közben megszakadt a kapcsolatunk a játékszerverrel, és elvesztettük az irányítást az autónk felett. Emiatt abban a körben 0 pontot szereztünk, így a következő körökben már rosszabb ligákba soroltak be minket. Itt a többi autós nem nagyon tartotta be a közlekedési szabályokat, és sok ütközés és tömegkarambol volt. Ezekben a körökben szintén elég kevés pontot szereztünk, mert oldalról belénk jöttek. A hetedik-nyolcadik körben már fölhoztuk magunkat ahhoz eléggé, hogy bekerüljünk az egyik legjobb ligába, de sajnos az előző körök pontveszteségei miatt már lehetetlen volt nagy összpontszámot elérni, így végül 11.-ek lettünk.

A döntős csapatok kaptak egy pólót, egy random tappancsot (aminek a rendeltetését illetően hosszas gondolkodás után arra következtettünk, hogy ha van egy betörött képernyőjű laptopunk, akkor rá tudunk rögzíteni egy kevésbé betörött képernyőjű telefont, és VNC kapcsolattal nézni rajta a laptop képét (bár az is lehet, hogy az autóba GPS-tartó)), valamint egy kulcstartót meg egy füzetet. Az első 3 csapat műszaki utalványokat kapott a Thyssenkrupp jóvoltából, valamint minden csapat ellátogathat a Thyssenkrupp budapesti gyárába, és menézheti, milyen egy önvezető autónak a fejlesztése a valós életben.

A Pacman-es verseny után ez volt a második ilyen versenyünk, és most is rengeteget tanultunk belőle. Nagyon köszönjük az EcoSimnek a szervezést, és hogy beengedtek (vagy csak nem nézték meg, de mindegy) a 2026-os várható diplomázási évvel.

A versenyen szerzett tapasztalatainkat is felhasználva a döntő napja után Bence pár óra alatt leprogramozott egy labirintusgeneráló, és -megoldó programot, én meg egy legrövidebb útvonal tervezést egy megadott gráf vonalain, amikre eddig jóval több idő lett volna szükséges.

~ Ambrus

Leave a Comment

Az email címedet nem tesszük publikussá. A kötelező mezők *-ként vannak jelölve.

Show Buttons
Hide Buttons