NNG C++ Grand Prix 2016

A csapat

Két kollégámmal indultunk az NNG programozóversenyén, és az volt a célunk, hogy megnyerjük a második helyért járó Herman Miller széket. A csapatnevünk egy Hárman Hermané lett.

A döntőt egy online selejtező előzte meg, ahol öt feladatot kellett megoldani. A kialakult rangsor szerinti első tíz csapat jutott be a döntőbe, amit nekünk az ötödik helyen sikerült is összehoznunk. A feladatokhoz általában valamilyen matematikai problémához kapcsolódtak, de mindben volt valamilyen csavar, például hogy mondjuk 100000 számjegyű számokra kell megoldani.

A korábbi értesüléseink alapján, a döntőben mindig egymás ellen harcoló botokat kell írni, most sem volt ez másképp.

A feladat

  • Körökre osztott játék
  • Négyzet alakú, tile based pálya
  • Két bázis a pálya átellenes sarkaiban
    • Időnként tud új épületet lerakni a saját területre
  • Épületek
    • Körülöttük minden tickben egy adott sugarú körön belül egy tilelal nő az általunk birtokolt terület
  • Mozgó egységek
    • A bázisokon születnek a birtokolt terület nagyságával arányos gyakorisággal
    • Tudnak új épületet építeni a jelenlegi pozíciójukra, ha az saját terület
    • Meg tudják támadni az ellenfél egységeit és épületeit
    • Saját területen visszatöltődik az életerejük
    • Fogy az életerejük az ellenség területén

A beavatkozási lehetőségünk a játékba:

  • A bázis által épített épület pozíciójának kiválasztása
  • A mozgó egységek mozgatása, utasítás építésre vagy támadásra

A stratégiánk

  • Épületek építése
    • Úgy kerestünk új pozíciót, hogy körülette a lehető legnagyobb elfoglalható terület legyen
  • Egységek vezérlése
    • Ha saját területen volt ellenfél, akkor azt megtámadtuk
    • Az ellenfélhez legközelebbi saját épületnél várakoztunk
    • Ha meg tudtunk támadni egy ellenséges egységet/épületet, ráadásul úgy, hogy nem halunk bele, akkor nekiindultunk
    • A bázis megtámadásához megvártuk, hogy elegendő egységünk legyen

A fenti stratégiával a második helyen végeztünk, így sikerült elérni a kitűzött célt, megnyertük a széket. A döntőben játszott meccseket le lehet tölteni innen.

Leave a Comment

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top