This is an old revision of the document!
Voi realiza un joc similar cu Simon Says folosind leduri si butoane.
In prima faza, modulul este in starea standby(cele 4 leduri sunt aprinse) la apasarea unui buton se intra in meniul select si se selecteaza nivelul (Easy / Medium / Hard / Hard with time). In urma selectarii nivelului ledul RGB devine albastru si se afiseaza secventa de leduri. Cand ledul RGB devine verde utilizatorul poate apasa butoanele pentru a aprinde leduri. In functie de rezultat, buzzerul va reda o melodie.
Se foloseste o variabila globala state modificata cu ajutorul intreruperilor pentru a determina starea curenta a placutei.
- void setup() → initializare pinMode si intreruperi
- bool valid_press() → debouncing
- void win(), void fail() → functii pentru rutina de castig/pierdere, ambele reseteaza state la STANDBY
- void loop() → cand state-ul este schimbat de la STANDBY porneste nivelul selectat
- void level(int length, bool timed):
- functia de intreruperi():
Am realizat o versiune compacta a jocului SimonSays cu interfata hardware si functii de accesibiliate(jucatorul poate selecta dificultatea jocului). Ideea jocului este repetarea unei secvente de leduri date, avand lungimea variabila si timeout pe mutari.