Írj egy robotszimulátort.
Egy robotgyár tesztlétesítményének egy programra van szüksége, amely ellenőrzi a robotok mozgását.
A robotok háromféleképpen mozoghatnak:
A robotokat egy képzeletbeli, végtelen rácsra helyezik, adott irányba (észak, kelet, dél vagy nyugat) nézve, egy {x,y} koordinátapáron, például {3,8}; a koordináták észak és kelet felé nőnek.
A robot ezután egy sor utasítást kap, ekkor a tesztlétesítmény ellenőrzi a robot új pozícióját, és azt, hogy milyen irányba néz.
Ebben a feladatban talán észrevetted, hogy a váz definiál gettereket, például getX(), a tesztek viszont közvetlenül, .x formában érik el az értéket. Ez annak köszönhető, ahogyan a Groovy a tulajdonságokat definiálja. Nézzük meg közelebbről:
Fontos tudnivalók a Groovy tulajdonságairól:
final jelöléssel szerepel).Ebben a feladatban csak a szükséges gettereket adtuk meg (és ezzel a fentiek szerint a tulajdonságokat is), hogy kikényszerítsük a helyes implementációt. Azt viszont szabadon eldöntheted, mely mezők (és milyen típusok) illenek legjobban a megoldásodhoz.
Ha szeretnél mélyebben elmerülni a mezők és tulajdonságok témájában, lapozd fel a Groovy dokumentációjának 3.3. fejezetét: Mezők és tulajdonságok.
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Groovy nyelvet 66 feladat segítségével, valódi emberi mentorálással, mindez ingyen.