👤

Buna, stiti cumva cum as putea rezolva aceasta problema mai eficient?
În jocul tău, șarpele se va deplasa printr-un grid de 15 linii și 17 coloane, iar acesta se va deplasa doar atunci când primește o comandă de la jucător. Singura mutare invalidă este atunci când șarpele se lovește de un zid (încearcă să iasă în afara gridului). Acest gen de mutări vor fi ignorate, iar șarpele va rămâne în aceeași poziție. Poziția inițială a șarpelui este în mijlocul tablei (linia 8 coloana 9). Liniile tablei și coloanele tablei sunt numerotate începând cu 1.

Află câte deplasări valide a făcut șarpele.

Cerință
În această problemă va trebui să scrii o clasă Snake care conține următoarele metode:

deplasare(int) - numărul primit ca parametru semnifică direcția în care șarpele se va deplasa: 0 - sus, 1 - dreapta, 2 - jos, 3 - stânga
mutariValide() - Returnează numărul de mutări valide făcute de către șarpe până la momentul curent.
Practic plec de pe pozitia [8][9] si trebuie sa ma deplasez pe un grid cu 15 linii si 17 coloane, solutii? Din cate am inteles, nu trebuie sa folosesc neaparat for si niste conditii dar acum nu stiu cum ar trebui exact, am inteles cum este o mutare.
Daca este pe pozitia [8][9] si vrea sa o ia la dreapta o sa fie [9][9] dupa daca se duce in sus cand apelezi un for (in functia main) o sa fie [9][1], dar nu stiu de unde sa plec..


Răspuns :

Dupa [9][9] daca mergi la dreapta o sa fie [9][1] sau [10][9]?

In general, jocurile au un "main loop", adica un for infinit, cu break la sfarsitul jocului (apasarea tastei ESC / Q de catre player, ramanerea fara vieti, etc), conditie pusa de tine.

Daca nu intelegi sau ai nevoie si de altceva scrie-mi si o sa te incerc sa te ajut.

Vă mulțumim că ați vizitat site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Dacă aveți întrebări sau nevoie de asistență suplimentară, nu ezitați să ne contactați. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!


En Learnings: Alte intrebari