Sari la conținut
EduCamp
ScratchAvansatScratch de la zero · partea 10

Listele

O listă păstrează mai multe valori sub un singur nume: mesajele jocului, obiectele culese de personaj, pozițiile obiectelor dintr-un nivel.

50 minuteNivel: AvansatEduCamp

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

Ai nevoie de:

  • Un calculator cu acces la internet
  • Editorul Scratch, pe scratch.mit.edu

1. Ce este o listă

O listă este o variabilă care păstrează mai multe valori, una după alta. Fiecare valoare se numește element și are un număr de ordine: primul element are numărul 1.

Lista se creează din categoria Variabile, cu butonul Creează o listă. Cât timp căsuța de lângă ea este bifată, lista se vede pe scenă.

2. Blocurile pentru liste

Blocurile care schimbă lista:

  • „adaugă … la …”: pune o valoare la sfârșitul listei;
  • „șterge … din …”: șterge elementul cu numărul dat;
  • „șterge tot din …”: golește lista;
  • „inserează … la … din …”: pune o valoare pe poziția dată;
  • „înlocuiește item … din … cu …”: schimbă valoarea unui element.

Blocurile care citesc lista:

  • „element … din …”: valoarea elementului cu numărul dat;
  • „lungimea lui …”: numărul de elemente;
  • „… conține …?”: adevărat dacă valoarea se află în listă.

3. Un mesaj ales la întâmplare

Lista laude păstrează mesajele pe care personajul le spune când culege un obiect. Mesajul se alege la întâmplare, cu un număr de la 1 la lungimea listei:

când se dă click pe @greenFlag
șterge tot din [laude v]
adaugă [Bravo!] la [laude v]
adaugă [Foarte bine!] la [laude v]
adaugă [Încă unul!] la [laude v]
când primesc [obiect cules v]
spune (element (alege aleator între (1) și (lungimea lui [laude v])) din [laude v]) pentru (1) secunde

Un mesaj nou se adaugă cu încă un bloc „adaugă”. Scriptul care alege mesajul rămâne neschimbat.

4. Inventarul

Lista inventar păstrează obiectele culese de personaj. O ușă se deschide numai dacă în inventar se află cheia. Scriptul cheii:

când se dă click pe @greenFlag
arată
așteaptă până când <atinge [Sprite1 v]?>
adaugă [cheie] la [inventar v]
ascunde

Scriptul ușii:

când se dă click pe @greenFlag
arată
la infinit
  dacă <atinge [Sprite1 v]?> atunci
    dacă <[inventar v] conține [cheie]?> atunci
      ascunde
      difuzează [nivel terminat v]
    altfel
      spune [Ai nevoie de cheie.] pentru (1) secunde
    end
  end
end

Exerciții

🔑 Rezolvare
  • după primul bloc: a;
  • după al doilea: a, b;
  • după al treilea: a, b, c;
  • după „șterge 1”: b, c;
  • după „inserează x la 2”: b, x, c;
  • după „înlocuiește 1 cu y”: y, x, c.
🔑 Rezolvare
când se dă click pe @greenFlag
șterge tot din [finaluri v]
adaugă [Joc terminat.] la [finaluri v]
adaugă [Mai încearcă o dată.] la [finaluri v]
adaugă [Aproape ai reușit.] la [finaluri v]
când primesc [final v]
spune (alătură (element (alege aleator între (1) și (lungimea lui [finaluri v])) din [finaluri v]) (alătură [ Scor: ] (scor))) pentru (3) secunde
🔑 Rezolvare
când încep ca și clonă
mergi la x (element (i) din [mx v]) y: (element (i) din [my v])
arată
așteaptă până când <atinge [Sprite1 v]?>
modifică [scor v] cu (1)
șterge această clonă

Pentru alt nivel se schimbă numai valorile din liste, nu și scripturile.

Ce ai învățat

La finalul fișei, poți:

  • să creezi o listă și să adaugi, să ștergi și să înlocuiești elemente;
  • să citești un element după numărul lui de ordine și lungimea listei;
  • să alegi la întâmplare un element dintr-o listă;
  • să verifici dacă o valoare se află într-o listă.
Autor: EduCampActualizat: 4 octombrie 2026