This shows you the differences between two versions of the page.
pm:prj2025:vstoica:horia.moroianu3101 [2025/05/30 04:09] horia.moroianu3101 [Software Design] |
pm:prj2025:vstoica:horia.moroianu3101 [2025/05/30 04:34] (current) horia.moroianu3101 [Software Design] |
||
---|---|---|---|
Line 114: | Line 114: | ||
Random seed: ''extractTimers()'' – combină valorile din TCNT0, TCNT1 și TCNT2 într-un uint32_t pentru a genera un seed aleator folosit la alegerea LED-urilor. | Random seed: ''extractTimers()'' – combină valorile din TCNT0, TCNT1 și TCNT2 într-un uint32_t pentru a genera un seed aleator folosit la alegerea LED-urilor. | ||
+ | |||
+ | **//lcd.cpp / lcd.h//**: gestionează afișajul LCD al jocului (mesaje de început, de final, scor, și vieți). | ||
+ | * vectorul ''heart'' reprezintă un caracter personalizat (o inimă stilizată), folosită pentru a reprezenta viețile jucătorului. | ||
+ | *''initLCD()'' — inițializează LCD-ul și configurează simbolul inimă pentru afișare. | ||
+ | *''displayStart()'' — afișează instrucțiunile inițiale pentru a porni jocul și controlul LED-urilor. | ||
+ | *''displayScore(lives, score)'' — arată numărul de vieți rămase și scorul curent pe ecran. | ||
+ | *''displayGameOver(score, high_score)'' — prezintă scorul final și high score-ul la încheierea jocului. | ||
+ | |||
+ | **//sounds.cpp / sounds.h//**: se ocupă de redarea melodiilor și sunetelor pentru stările jocului. | ||
+ | *''playStart()'' — melodie scurtă de început pentru startul jocului. | ||
+ | *''playWin()'' — melodie de victorie la obținerea unui high score. | ||
+ | *''playFail()'' — melodie de eșec/skip. | ||
+ | |||
+ | **//random.cpp / random.h//**: modul de generare a numerelor pseudo-aleatoare, optimizat pentru microcontrolere. | ||
+ | *''setSeed(seed)'' — inițializează generatorul cu o valoare externă pentru diversificarea secvenței de numere aleatoare. | ||
+ | *''nextRand()'' — returnează un număr pseudo-aleator pe 8 biți folosind algoritmul ''xorshift32'' usor modificat. Acesta lucreaza doar cu operații bitwise și produce rapid valori pe 8 biți, folosite ulterior pentru selectarea celor 4 LED-uri. | ||
+ | |||