LECTIA 4 - MECANICA

Mecanica Jocului - Reguli si Sistem

🎯 OBIECTIV

Vreau sa programez regulile care fac jocul meu distractiv!

Mecanica jocului = regulile care il fac sa functioneze. In aceasta lectie vei implementa sistemul de scor, vieti si conditiile de castig/pierdere.

🛠 INCEARCA - Elementele esentiale

Majoritatea jocurilor au aceste elemente de baza:

🏆
SCOR
Puncte pentru reusita
VIETI
Sanse inainte de Game Over
TIMP
Limita de timp pentru nivel
🔢
NIVEL
Progresie in dificultate

Exemplu de HUD (Head-Up Display):

Scor: 150
❤ ❤ ❤
Timp: 45s
📚 INVATA - Implementarea mecanicilor

1. Sistemul de SCOR

🏆 Creaza variabila Scor

In categoria Variabile, click "Creaza o variabila" si numeste-o "Scor"

cand se apasa steagul verde

seteaza [Scor] la 0


Cand colectezi ceva:

daca <atingi [Moneda]?> atunci

modifica [Scor] cu 10

2. Sistemul de VIETI

❤ Creaza variabila Vieti

cand se apasa steagul verde

seteaza [Vieti] la 3


Cand atingi un obstacol:

daca <atingi [Obstacol]?> atunci

modifica [Vieti] cu -1

spune [Ai!] timp de 0.5 secunde

daca <[Vieti] = 0> atunci

transmite [game over]

3. Conditii de CASTIG si PIERDERE

🏆 CASTIG cand...

  • Scorul ajunge la X puncte
  • Colectez toate obiectele
  • Ajung la final/iesire
  • Invinge boss-ul

💀 PIERD cand...

  • Vietile ajung la 0
  • Timpul expira
  • Ating un obstacol fatal
  • Cad in gol

🎯 Exemplu conditie de victorie

cand se apasa steagul verde

repeta pana cand <[Scor] > 99>

... codul jocului ...

transmite [victorie]

schimba fundalul la [Castigat]
💡 Sfat pentru balansare

Testeaza jocul de mai multe ori! Daca e prea usor, scade vietile sau timpul. Daca e prea greu, mareste-le sau fa obstacolele mai lente.

VERIFICA - Test rapid

1. Cum creezi o variabila pentru scor in Scratch?

Scrii "scor" intr-un bloc de text
In categoria Variabile, click "Creaza o variabila"
Folosesti blocul "spune"
Nu poti avea scor in Scratch

2. Ce bloc folosesti pentru a scadea o viata?

seteaza [Vieti] la 0
modifica [Vieti] cu -1
sterge viata
ascunde [Vieti]

3. Cum verifici daca jucatorul a castigat (scor > 100)?

daca <scor = mare>
cand scor > 100
daca <[Scor] > 100> atunci
repeta 100 ori