This is an old revision of the document!
In cadrul acestui proiect am implementat unul din cele mai cunoscute jocuri: Spanzuratoarea. Scopul acestuia este de a crea un mediu in care oamenii sa se distreze si care poate fi reutilizat. Am pornit de la jocul clasic pe care toti il stim si am simplificat modalitatea de reprezentarea a introducerii unei litere gresite. Astfel, cand este introdusa o litera care nu se afla in cuvant, se va aprinde un led rosu. In momentul in care s-au aprins cele 3 leduri de pe breadboard, jucatorul a pierdut si jocul s-a terminat.
Pentru a introduce un cuvant, un jucator trebuie sa apese pe butonul de pe breadboard. Dupa introducerea cuvantului, se va afisa pe LCD numarul de litere reprezentat prin liniute. Celalalt jucator va introduce pe rand cate o litera. Daca este corecta, litera se va afisa in locul corespunzator pe LCD. In caz contrat, se va aprinde un led. In momentul in care toate literele au fost ghicite sau toate cele 3 leduri s-au aprins, jocul s-a terminat. Atat cuvantul, cat si literele vor fi intoduse prin modul senzor de atingere capacitiv TTP229.
Schema bloc
Componente:
Mediu de dezvoltare:
Librarii si surse 3rd party:
Surse si functii implementate:
setup() → porneste ecranul LCD si seteaza pinii pentru senzorul de atingere si leduri loop() → trece prin etapele jocului getkey() → returneaza valoarea obtinuta de senzorul de atingere fctStartGame() → afisare pe ecranul LCD a mesajului initial fctStartGameHelper() → seteaza diverse valori getWord () → salveaza cuvantul introdus de un jucator, care urmeaza sa fie ghicit de al 2lea getLetterFromIn() → cifrele introduse prin intermediul senzorului de atingere sunt transformate in litere guessWord() → literele care sunt introduse de al 2lea jucator getLetter () → cifrele introduse cu ajutorul senzorului de atingere isLetterCorrect (char letter) → verifica daca litera introdusa face parte din cuvant update (int code) → afiseaza pe ecranul LCD-ului literele ghicite resetValues() → reseteaza valorile variabilelor folosite restartGame() → reinitializeaza jocul mesajFinale() → afisarea mesajului final
Link demo:
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.