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:

  • Arduino IDE

Librarii si surse 3rd party:

  • LiquidCrystal_I2C.h

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

Arhiva: hangman.zip

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

Export to PDF

pm/prj2022/imacovei/iarina.dalimon.txt · Last modified: 2022/05/27 20:55 by iarina.dalimon
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0