Regulile oficiale în limba engleză sunt disponibile pe pagina concursului de pe HackerRank. Aceasta este o traducere a acestor reguli în limba română, împreună cu câteva observații utile.
În plus, limitele uzuale de timp pentru fiecare mutare de pe HackerRank sunt descrise aici. Dacă acestea vor fi schimbate, acest lucru va fi specificat în această pagină.
Tron este un joc între doi jucători având la bază cunoscutul film Tron. Obiectivul jocului este să limitezi mişcările adversarului folosind zidul lăsat în urmă de motocicleta proprie.
Jocul are loc pe o grilă cu m rânduri şi n coloane. Colţul din stânga sus este notat (0,0), iar colţul din dreapta jos este notat (m-1,n-1). Grila este indexată ca (rând,coloana). În afara zidurilor lăsate în urmă de motocicletele jucătorilor, mai există ziduri plasate precum în figură:
############### #------#------# #------#------# #------#------# #------#------# #-------------# #-#----#----#-# #-##-#####-##-# #-#----#----#-# #-------------# #------#------# #------#------# #------#------# #------#------# ###############
Primul jucător este reprezentat ca ‘r’ (valoare ascii: 114). Al doilea jucător este reprezentat ca ‘g’ (valoare ascii: 103). Prima linie a inputului conţine un caracter reprezentând jucătorul curent, cel pe care botul uploadat trebuie să-l comande. A doua linie este formată din patru numere naturale separate prin spaţiu care reprezintă poziţia curentă a motocicletei jucătorului 1 şi, respectiv, a jucătorului 2.
A treia linie conţine 2 numere naturale separate prin spaţiu ce reprezintă numărul de linii (m) şi numărul de coloane a hărţii (n). Urmează m rânduri a n caractere care formează harta. Un zid este reprezentat de # (valoare ascii: 114), un spaţiu liber este reprezentat de - (valoare ascii: 45). Zidul lăsat în urmă de motocicletele jucătorilor este reprezentat de caracterele asociate (r sau g).
Jucătorii trebuie să tipărească la ieşirea standard una din următoarele şiruri de caractere fără ghilimele: “LEFT”, “RIGHT”, “UP”, “DOWN”.
Dacă (x,y) este poziţia curentă, atunci LEFT duce la (x,y-1), RIGHT duce la (x, y+1), UP duce la (x-1,y) and DOWN duce la (x+1,y).
Exemplu de intrare
r 7 1 12 8 15 15 ############### #r-----#------# #r-----#------# #r-----#------# #r-----#------# #r------------# #r#----#----#-# #r##-#####-##-# #-#----#----#-# #-------------# #------#------# #------#------# #------#g-----# #------#gggggg# ###############
Exemplu de ieşire
DOWN
Harta arată astfel acum:
############### #r-----#------# #r-----#------# #r-----#------# #r-----#------# #r------------# #r#----#----#-# #r##-#####-##-# #r#----#----#-# #-------------# #------#------# #------#------# #------#g-----# #------#gggggg# ###############
Jucătorii nu au voie să dea ‘undo’ la o mutare, de exemplu după o mişcare la dreapta nu au voie imediat să se mişte la stânga şi viceversa.
Jocul este simultan. Ambii jucătorii primesc aceeaşi stare a hărţii. Daca ambii jucători mişcă in aceeaşi celulă intr-un tur sau amândoi se lovesc de zid, jocul este considerat remiză.