1. Planificarea Proiectului
1. Planificarea Proiectului
E ca atunci cand pregatesti un sandwich. Nu deschizi frigiderul si arunci random ingrediente pe paine. Intai te gandesti: ce tip de sandwich vrei? Ce ingrediente ai nevoie? In ce ordine le pui? La fel cu jocul!
De ce e importanta planificarea?
- Economisesti timp - nu faci si refaci acelasi lucru
- Eviti blocajele - stii mereu ce urmeaza
- Ai o viziune clara - stii cum arata jocul finalizat
- Poti imparti munca - daca lucrezi in echipa, fiecare stie ce face
Programatorii profesionisti petrec 30-50% din timp planificand inainte de a scrie prima linie de cod! Planificarea nu e pierdere de timp - e INVESTITIE de timp.
Ce contine un plan bun?
| Element | Descriere | Exemplu |
|---|---|---|
| Titlu | Numele jocului | Prinde Fructele |
| Reguli | Cum se joaca | Misca cosul, prinde fructele |
| Storyboard | Desene ale ecranelor | Start → Joc → Game Over |
| Sprite-uri | Personaje/obiecte | Cos, Mar, Fundal |
| Variabile | Date salvate | scor, vieti, viteza |
Desenează storyboard-ul pe hârtie cu un creion! E mai rapid decât pe calculator și poți șterge ușor. Plus, îți antrenezi creativitatea și vizualizarea spațială.
2. Construirea Proiectului
2. Construirea Proiectului
E ca atunci cand construiesti un puzzle mare. Nu incerci sa pui toate piesele deodata! Incepi cu marginile, apoi faci sectiuni mici, le testezi daca se potrivesc si le conectezi treptat. Daca incerci sa faci totul deodata, te incurci si te blochezi.
Ordinea Constructiei
Adauga sprite-urile si fundalul. Pozitioneaza-le unde trebuie sa inceapa.
Fa ca jucatorul sa poata misca sprite-ul principal.
Fa ca fructele sa apara sus si sa cada in jos.
Creeaza variabila scor si adauga detectarea prinderii in scriptul de cadere. Fructul cade pana cand fie atinge cosul, fie atinge podeaua — abia dupa oprirea buclei actualizezi scorul.
De ce functioneaza asa? Fructul cade pana la una din doua conditii (prindere SAU podea). Dupa iesirea din bucla verificam o singura data cu daca — nu in fiecare frame. Scorul creste doar la prindere, nu la cadere.
📚 Aprofundare (optional): Poti adauga si o variabila vieti (seteaza la 3; scade cu -1 in ramura altfel a aceluiasi daca, adica cand fructul a ajuns la podea fara sa fie prins).
Daca ai adaugat variabila vieti (vezi aprofundarea de la PASUL 4), poti opri jocul cand jucatorul pierde toate vietile. Acest pas presupune ca variabila vieti exista deja in proiect.
Nota: Jocul de baza (PASII 1-4 cu doar variabila scor) este complet si functional fara acest pas.
Nu trece la pasul urmator pana nu testezi pasul curent! Apasa pe steag verde dupa fiecare adaugare si verifica daca functioneaza corect. E mult mai usor sa gasesti si sa repari o greseala mica decat sa cauti printr-un munte de cod nefunctional.
Gresit: "Scriu tot codul pentru toate sprite-urile si apoi testez totul deodata."
Corect: "Fac ca un singur sprite sa se miste. Testez. Apoi adaug urmatorul sprite. Testez din nou. Apoi adaug variabile. Testez..."
3. Elemente de Finisare
3. Elemente de Finisare
E diferenta dintre o prezentare PowerPoint cu text alb pe fundal negru vs una cu imagini frumoase, animatii, culori armonioase si font-uri placute. Ambele comunica informatia, dar una te plictiseste, cealalta te captiveaza!
Ce Elemente de Finisare sa Adaugi
🔊 Sunete si Muzica
Adauga efecte sonore cand prinzi fructe, cand pierzi vieti sau cand castigi. Muzica de fundal face jocul mai imersiv.
🖼️ Ecran de Start
Un ecran frumos cu titlul jocului, instructiuni scurte si un buton "START" face jocul sa para profesional.
🎨 Fundal si Sprite-uri Frumoase
Alege un fundal relevant (pentru jocul cu fructe: o gradina sau livada). Foloseste sprite-uri colorate si clare.
💫 Efecte Vizuale
Animatii cand prinzi un fruct (stralucire, particule), efecte de fade in/out, tranziţii între ecrane.
Cod: Ecran de Start (varianta simpla — cls. V)
/* Varianta de baza: Buton Start care trimite un mesaj */ Cand se da click pe 🚩 comuta la fundalul (Start Screen) arata Cand sprite-ul e dat click ascunde transmite mesajul (IncepeJocul) /* Fiecare sprite-personaj: */ Cand primesc mesajul (IncepeJocul) /* ...codul de miscare si detectie al sprite-ului */
📚 Aprofundare (optional): Poti folosi si o variabila gameStarted (seteaza la 0, asteapta pana cand = 1) dupa ce stapanesti varianta cu mesaje.
Cod: Adauga Sunete
/* In momentul in care fructul este prins */ daca <atingi (Cos)?> atunci schimba (scor) cu (10) porneste sunetul (chomp) ← SUNET ADAUGAT! schimba efectul (ghost) cu (25) ← EFECT VIZUAL! asteapta (0.1) secunde ascunde
Gaseste sunete potrivite in biblioteca Scratch (butonul Sounds → Choose a Sound). Cauta "chomp" pentru mancat, "boing" pentru sarituri, "win" pentru victorie, "lose" pentru infrangere. Ascunde sprite-urile cu efect fade (creste "ghost" treptat pana la 100) in loc sa le ascunzi brusc - arata mult mai profesional!
4. Publicare pe Scratch
4. Publicare pe Scratch
E ca atunci cand publici un desen pe un site de arta sau afisezi o poveste scrisa de tine pe panoul clasei. Nu e suficient sa il faci — vrei sa il vada si altii! Diferenta speciala a Scratch-ului: oricine poate lua jocul tau si sa il modifice pentru a face ceva si mai interesant (si tu poti face la fel cu jocurile altora). Asta se numeste remix!
Pasi pentru Publicare
- Finalizează jocul: Testează totul, repară bug-urile, adaugă instructiuni clare
- Click pe "Share": Butonul portocaliu din colțul dreapta-sus al Scratch
- Completează detaliile:
- Instructions: Cum se joacă (taste, obiectiv)
- Notes and Credits: Mulțumiri sau surse folosite
- Adaugă tag-uri: Cuvinte cheie ca "game", "fruit", "catch" - ajută oamenii să găsească jocul
- Alege un thumbnail: Imaginea care apare când cineva vede jocul în listă
- Share the link: Copiază link-ul și trimite-l prietenilor, familiei sau profesorului!
Rubrica de Evaluare — Proiect Scratch cls. V (OMEN 3393/2017)
| Criteriu | Insuficient (1-2) | Bine (3-4) | Excelent (5) |
|---|---|---|---|
| Logica | Algoritmul lipseste sau nu are sens | Secventa prezenta; alternativa partiala | Secventa + alternativa (daca/altfel) corecte si clare |
| Functionalitate | Proiectul nu porneste sau nu face nimic vizibil | Functioneaza cu erori minore | Functioneaza complet conform planului |
| Testare / Depanare | Nu a testat; erori neobservate | A testat partial; a corectat 1-2 erori | A testat sistematic dupa fiecare pas; a rezolvat toate erorile gasite |
| Prezentare | Nu poate explica ce face proiectul | Explica partial; denumeste sprite-urile si variabila scor | Explica clar planul, logica algoritmului si ce a invatat |
Axele de evaluare conform programei OMEN 3393/2017: logica · functionalitate · testare/depanare · prezentare. Elementele avansate (vieti, ecran start, viteza progresiva) pot fi mentionate ca bonus descriptiv, dar nu conditioneaza nota.
După ce publici jocul, alții pot lăsa comentarii. Unele vor fi laude, altele vor sugera îmbunătățiri. Ambele sunt valoroase! Profesional, programatorii petrec mult timp primind și dând feedback ("code reviews"). E normal și sănătos - așa se îmbunătățește toată lumea!
Înainte de a publica, roagă pe cineva să joace jocul tău (prieten, coleg, frate/soră). Urmărește-i fața în timp ce joacă - dacă se uită confuz, probabil instrucțiunile nu sunt clare. Dacă se plictisește, probabil e prea ușor sau prea greu. Feedback-ul live e cel mai valoros!