Sari la conținut
EduCamp
ScratchMediuScratch de la zero · partea 8

Nivelurile jocului

Jocul are trei provocări, una după alta. O variabilă ține minte nivelul curent, iar mesajele pornesc fiecare nivel și anunță finalul jocului.

50 minuteNivel: MediuEduCamp

Nume și prenume: ................................................    Clasa: .................    Data: .......................

Ai nevoie de:

  • Un calculator cu acces la internet
  • Proiectul cu meniul, din fișa anterioară

1. Structura unui joc cu niveluri

Un joc cu niveluri se construiește din:

  • o variabilă nivel, care ține minte nivelul curent;
  • câte un decor pentru fiecare nivel: Nivel 1, Nivel 2, Nivel 3;
  • un mesaj pornește nivelul, la care fiecare personaj se pregătește pentru nivelul curent;
  • o condiție de trecere pentru fiecare nivel, de exemplu „scorul ajunge la 5” sau „personajul atinge ieșirea”.

Scriptul care conduce nivelurile se pune pe scenă:

când primesc [start joc v]
setează [nivel v] la (1)
difuzează [pornește nivelul v]
când primesc [pornește nivelul v]
schimbă decorul la (alătură [Nivel ] (nivel))

Blocul „alătură” formează numele decorului din textul „Nivel ” și valoarea variabilei. Pentru nivelul 2 se obține Nivel 2.

2. Trecerea la nivelul următor

Când condiția de trecere este îndeplinită, se trimite mesajul nivel terminat. Scena verifică dacă mai urmează un nivel:

când primesc [nivel terminat v]
modifică [nivel v] cu (1)
dacă <(nivel) > [3]> atunci
  difuzează [câștigat v]
altfel
  difuzează [pornește nivelul v]
end

3. Personajele fiecărui nivel

Un personaj care apare numai la un nivel se arată sau se ascunde la mesajul pornește nivelul:

când primesc [pornește nivelul v]
dacă <(nivel) = [2]> atunci
  mergi la x (200) y: (-150)
  arată
altfel
  ascunde
end

Personajul principal apare la fiecare nivel, dar pornește din alt loc:

când primesc [pornește nivelul v]
dacă <(nivel) = [1]> atunci
  mergi la x (0) y: (-130)
end
dacă <(nivel) = [2]> atunci
  mergi la x (-200) y: (-150)
end
dacă <(nivel) = [3]> atunci
  mergi la x (0) y: (-150)
end
arată

4. Trei provocări diferite

Fiecare nivel are altă provocare și altă condiție de trecere:

  • Nivelul 1: personajul culege 5 mere; trecerea are loc când scorul ajunge la 5;
  • Nivelul 2: personajul trece printr-un labirint; trecerea are loc când atinge ieșirea;
  • Nivelul 3: personajul se ferește de pietre timp de 20 de secunde; trecerea are loc când timpul se termină.

Scriptul care verifică trecerea de la nivelul 1:

Condiția este „scor > 4”, nu „scor = 5”: dacă un obiect aduce mai multe puncte deodată, scorul poate trece de 5 fără să fie vreodată egal cu 5.

când primesc [pornește nivelul v]
dacă <(nivel) = [1]> atunci
  setează [scor v] la (0)
  așteaptă până când <(scor) > [4]>
  difuzează [nivel terminat v]
end

Exerciții

🔑 Rezolvare

Pe lângă scripturile din fișă, scena are:

când tasta [n v] este apăsată
difuzează [nivel terminat v] // numai pentru încercare; se șterge la final
când primesc [câștigat v]
schimbă decorul la [Câștigat v]
🔑 Rezolvare
când primesc [pornește nivelul v]
dacă <(nivel) = [2]> atunci
  mergi la x (210) y: (150)
  arată
  așteaptă până când <atinge [Sprite1 v]?>
  ascunde
  difuzează [nivel terminat v]
altfel
  ascunde
end

Ieșirea se ascunde înainte de mesaj, ca să nu fie atinsă încă o dată.

🔑 Rezolvare
când primesc [pornește nivelul v]
dacă <(nivel) = [3]> atunci
  setează [timp v] la (20)
  repetă până când <(timp) = [0]>
    așteaptă (1) secunde
    modifică [timp v] cu (-1)
  end
  difuzează [nivel terminat v]
end
🔑 Rezolvare
  • start joc → nivel = 1 → pornește nivelul;
  • primul nivel terminat → nivel = 2 → pornește nivelul;
  • al doilea nivel terminat → nivel = 3 → pornește nivelul;
  • al treilea nivel terminat → nivel = 4, mai mare decât 3 → câștigat.

Ce ai învățat

La finalul fișei, poți:

  • să ții minte nivelul curent într-o variabilă;
  • să schimbi decorul după nivel, cu un nume format cu „alătură”;
  • să arăți și să ascunzi personajele după nivel;
  • să construiești condiția de trecere pentru fiecare nivel și ecranul de final.
Autor: EduCampActualizat: 4 octombrie 2026