1. Continut
De ce sunt esentiale variabilele?
- Scoruri si puncte: Tii evidenta progresului in joc
- Vieti/Sanatate: Monitorizezi starea jucatorului
- Timp/Cronometru: Numeri secundele sau timpul ramas
- Nivel curent: Retii la ce nivel e jucatorul
- Inventar: Cate monede, chei, sau obiecte ai colectat
- Setari: Volumul sunetului, dificultatea, limba, etc.
2. Continut
Pasi pentru creare:
- Click pe categoria "Variables" in meniul de blocuri
- Click pe butonul "Make a Variable" (Creeaza o variabila)
- Introdu un nume descriptiv: "puncte", "vieti", "timp", "nivel", etc.
- Alege: "For all sprites" (pentru toate) SAU "For this sprite only" (doar pentru acest sprite)
- Click OK - Variabila apare automat pe scena si in meniul de blocuri!
Reguli pentru nume de variabile:
✓ BUN: "puncte", "vieti_jucator", "timp_ramas", "nivel_curent"
✗ EVITA: "p", "x", "var1" (prea scurt, neclar)
✗ EVITA: Spatii in nume - foloseste underscore: "vieti_jucator" NU "vieti jucator"
3. Continut
1. SET - Seteaza la o valoare exacta
Ce face: Pune valoarea EXACTA specificata in variabila, ignorand ce era inainte. Exemplu: daca puncte era 50, "set to 0" il face 0. Este ca si cum golesti cutia si pui ceva nou inauntru.
Cand se foloseste:
- Reset la start: "set puncte to 0" la green flag clicked
- Initializare: "set vieti to 3" la inceputul jocului
- Setare directa: "set nivel to 2" cand treci la nivel 2
2. CHANGE - Schimba cu o cantitate
Ce face: ADUNA valoarea la continutul curent. Exemplu: daca puncte = 10, "change by 5" il face 15. Daca pui numar negativ, SCADE: "change by -3" scade cu 3.
Cand se foloseste:
- Adauga puncte: "change puncte by 10" cand colectezi moneda
- Scade vieti: "change vieti by -1" cand esti lovit
- Cronometru: "change timp by 1" la fiecare secunda
- Incrementare: "change contor by 1" pentru orice numarare
🎯 Exemplu: Diferenta dintre SET si CHANGE
Daca rulezi:
Daca rulezi:
3. SHOW - Afiseaza pe scena
Ce face: Face variabila vizibila pe scena (daca era ascunsa). Variabilele sunt vizibile by default, dar daca le-ai ascuns, SHOW le aduce inapoi.
4. HIDE - Ascunde de pe scena
Ce face: Ascunde caseta variabilei de pe scena. Variabila EXISTA in continuare si functioneaza - doar nu o mai vezi afisata. Util pentru variabile "secrete" sau temporare.
4. Continut
🎮 Exemplu complet: Joc de colectare monede
---
// Pe Sprite Moneda (fiecare moneda):Explicatie: La start, scorul e resetat la 0. Fiecare moneda verifica la nesfarsit (forever) daca atinge jucatorul. Cand se atinge: +10 puncte, sunet coin, moneda dispare. Simplu si eficient!
💫 Exemplu: Scor cu niveluri de dificultate
---
// Monede argintii: 10 puncte---
// Monede aurii: 50 puncteExplicatie: Obiecte diferite valoreaza puncte diferite! Monedele rare (aurii) dau mai multe puncte, motivand jucatorii sa le caute.
5. Continut
Metoda 1: Timer integrat Scratch
Scratch are un timer ascuns care porneste automat! Il gasesti in categoria "Sensing" (albastru deschis) - blocul oval "timer". Poti sa-l resetezi cu "reset timer".
Explicatie: Timer-ul integrat numara secundele automat de la reset! Perfect pentru curse contracronometru.
Metoda 2: Cronometru personalizat
⏰ Exemplu: Contor de secunde crescator
Explicatie: La fiecare secunda (wait 1), variabila creste cu 1. Simplu si eficient! Poti vedea cate secunde ai jucat.
⏳ Exemplu: Contor descrescator (timp ramas)
Explicatie: Incepi cu 60 secunde. La fiecare secunda scazi cu 1 (change by -1). Cand ajunge la 0, jocul spune "Timpul a expirat!" si se opreste tot. Perfect pentru provocari contracronometru!
6. Continut
For All Sprites (Globala)
Ce inseamna: TOATE sprite-urile din proiect pot citi si modifica aceasta variabila.
Cand se foloseste:
- Scor general: Toate sprite-urile trebuie sa poata adauga puncte
- Nivel curent: Toate sprite-urile trebuie sa stie la ce nivel esti
- Timp/Cronometru: Un singur cronometru pentru tot jocul
- Game state: "joc_activ", "game_over", "paused"
For This Sprite Only (Locala)
Ce inseamna: DOAR sprite-ul curent poate vedea si modifica variabila. Alte sprite-uri nu stiu ca exista.
Cand se foloseste:
- Sanatatea inamicului: Fiecare inamic are propria sa sanatate
- Viteza sprite-ului: Fiecare personaj se misca cu propria viteza
- Stare personala: "este_invincibil", "poate_trage"
- Contoare temporare: "nr_sarituri", "cooldown_tir"
🎮 Exemplu: Combinare globale + locale
• puncte_totale (scorul general al jucatorului)
• nivel_curent (1, 2, 3, etc.)
• timp_ramas (cronometrul jocului)
---
Variabile LOCALE (For Sprite Inamic #1):• sanatate_inamic (HP-ul acestui inamic specific: 100)
• viteza_inamic (cat de repede se misca: 3)
---
Variabile LOCALE (For Sprite Inamic #2):• sanatate_inamic (HP-ul ALTUI inamic: 150 - independent de #1!)
• viteza_inamic (viteza ALTUI inamic: 5 - diferit de #1!)
Explicatie: Scorul, nivelul si timpul sunt PARTAJATE - toate sprite-urile le vad si le modifica. Dar fiecare inamic are PROPRIA sanatate si viteza - daca lovesti Inamic #1, doar sanatatea LUI scade, nu a altora!
7. Continut
Cum creezi o lista?
- Click pe categoria "Variables"
- Click pe "Make a List" (sub "Make a Variable")
- Numeste lista descriptiv: "inventar", "scoruri_top", "inamici"
- Alege "For all sprites" sau "For this sprite only"
- Click OK - Lista apare pe scena si ai blocuri noi!
Blocuri pentru liste:
← Adauga element la sfarsitul listei
← Sterge elementul de pe pozitia 1
← Goleste toata lista
← Insereaza element pe pozitia 2
← Inlocuieste elementul 1 cu altul
← Citeste valoarea de pe pozitia 1
← Cate elemente sunt in lista?
← Lista contine "mar"? (DA/NU)
🎒 Exemplu: Sistem de inventar simplu
---
// Cand colectezi un mar (sprite Mar)---
// Verificare - ai cheia?Explicatie: La start, inventarul e gol. Cand colectezi obiecte (click pe ele), se adauga in lista. Cand apesi Space, jocul verifica daca AI cheia in inventar - daca da, usa se deschide!
🏆 Exemplu: Top 3 scoruri
---
// Arata scorurile anterioareExplicatie: Fiecare joc adauga scorul in lista. Cand apesi "T" (Top), sprite-ul afiseaza scorurile din jocurile anterioare: primul joc (item 1), al doilea joc (item 2), etc. Istorie completa!