Hangman
Introducere
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.
Descriere generală
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
Schema electrica
Hardware Design
Componente:
fire mama-tata/ tata-tata
modul senzor de atingere capacitiv TTP229
breadboard HQ (830 puncte)
placa de dezvoltare compatibila cu arduino uno r3 (ATmega328p) + cablu
buton 6x6x6
3 leduri rosii
shield pentru Arduino cu LCD 1602
rezistor 0.25W 220Ω
Software Design
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
Rezultate Obţinute
Concluzii
Acest proiect m-a ajutat sa fixez anumite notiuni de PM. A fost o experienta foarte utila si distractiva sa conectez componentele fizic
Download
Jurnal
20 aprilie → alegere tema proiect
21 aprilie → creare paginia wiki
4 mai → comanda componente
19 mai → scris codul pentru conectarea ledurilor si a lcd-ului la placuta
20 mai → scris codul pentru logica jocului
21 mai → conectare componente fizic si modificari cod
22 mai → scris codul pentru conectarea senzorului de atingere
27 mai → documentatia wiki
Bibliografie/Resurse