Introducere
1.Descriere generală
Implementarea joculețului de memorie „Simon Says”.
2.Reguli
Jocul presupune redarea unei secvențe. Nivelul 1 presupune apăsarea pe butonul corespunzător LED-ului aprins. Nivelul 2 presupune apăsarea, în ordine, a butoanelor ce corespund celor 2 LED-uri aprinse, etc. Timpul de aprindere și timpul dintre aprinderea oricăror 2 LED-uri este determinat de nivelul la care s-a ajuns. De exemplu, prima dată se aprinde un LED aleator un timp x, apoi 2 timp de x-y cu un timp de x-y între cele două aprinderi, apoi 3 timp de x-(2*y) cu timp de pauză între ele de x-(2*y), şamd.
Dacă s-a ajuns la finalul joculeţului se aprind toate cele 4 LED-uri de mai multe ori, iar dacă pe parcurs s-a greşit secvenţa, se aprind toate LED-urile şi intensitatea lor scade treptat până se sting complet.
3.Scop
Jocul are ca scop redarea, corectă, a unei secvențe cât mai mari.
Hardware
Am folosit:
* 6 rezistențe de 270 ohmi,
* 6 butoane,
* 6 LED-uri,
* pini,
* fire de legătură,
* plăcuță de test.
LED-urile sunt conectare la pinii PA0-PA5. Butoanele sunt conectare la pinii PC0-PC5.
Software
Sunt incluse funcţiile:
*void intarziere(int valoare) - Întârziere aprindere LED
*void aprindereONE(char led) - Aprinde un singur LED, dat ca parametru
*void aprindereALL() - Aprinde toate LED-urile
*int findRandom() - Găsire următorul element
*int apasa() - Întoarce butonul apăsat
*int main() - Funcţia de main
Concluzii
Joculeţul este funcţional, insa nu am implementat diferenţa de timp dintre aprinderi. Modul in care sunt asezate butoanele si LED-urile il pot face un pic greu de utilizat.
Download