This is an old revision of the document!


Joc de memorie controlat prin gesturi

Autor: Florea Andrei-Bogdan

Grupa: 336CC

Introducere

Jocul constă în repetarea unei secvențe de direcții (stânga, dreapta, sus, jos) de către utilizator, prin gesturi.

Dificultatea crește pe măsură ce secvențele sunt reproduse corect.

Pe un ecran LCD sunt afișate informații utile, precum viețile rămase sau timpul disponibil în cadrul rundei curente. Poate fi accesat și afișat și un leaderboard cu cele mai bune scoruri obținute de-a lungul timpului, scoruri preluate de pe un modul de card SD.

Ideea de la care am pornit a fost folosirea unui senzor de gesturi, pentru că mi se pare un mod interesant de interacționare.

Descriere generală

Inițial, pe ecran apare un meniu prin care se poate selecta începerea unui joc în modul singleplayer, multiplayer sau afișarea leaderboard-ului.

Dacă se alege începerea unui joc singleplayer, se începe cu prima rundă: o singură direcție este redată pe matricea de led-uri și jucătorul are la dispoziție 10 secunde să realizeze gestul corespunzător.

Dacă a reprodus corect, jocul se continuă, la runda următoare jucătorul având de reprodus o secvență mai lungă, într-un timp mai mare. Dacă a reprodus greșit secvența, jucătorul pierde o viață din cele 3 afișate pe ecran.

Jocul se încheie atunci când cele 3 vieți sunt epuizate sau când timpul rundei a expirat, iar scorul este salvat pe cardul SD dacă este suficient de bun.

Dacă se alege începerea unui joc multiplayer, din nou, vor fi runde care cresc în dificultate. Spre deosebire de varianta singleplayer, unde secvența era generată aleator, în varianta multiplayer, un jucător va crea secvența, urmând ca celălalt să o memoreze și să o reproducă. Rolurile se inversează în cadrul aceleiași runde.

Primul jucător care nu poate reproduce secvența celuilalt pierde.

Dacă din meniul principal este selectată afișarea leaderboard-ului, vor apărea pe ecran cele mai bune scoruri obținute de-a lungul timpului în modul de joc singleplayer, cu posibilitatea de scrolling cu ajutorul a două butoane.

Hardware Design

Componente folosite

  • Arduino Uno
  • Breadboard
  • senzor gesturi APDS-9960
  • ecran LCD Nokia 5510
  • matrice de LED-uri MAX7219
  • buzzer
  • modul card SD
  • card SD
  • butoane
  • rezistoare

Schema electrică

Software Design

  • Mediul de dezvoltare: Arduino IDE
  • biblioteci folosite:
    • SparkFun_APDS9960 (senzorul de gesturi)
    • Adafruit_PCD8544 și Adafruit_GFX (display Nokia 5110)
    • PF (card microSD)
  • surse folosite în implementare:
    • memory_game.ino - sursa principala; face setup-ul componentelor și implementează navigarea în meniul jocului; conține și funcții pentru generarea diferitelor sunete pentru buzzer
    • apds.cpp, apds.h - surse cu functii specifice senzorului de gesturi
    • lcd_draw.cpp, lcd_draw.h - surse pentru afisarea pe ecran; conțin funcții apelate din alte părți ale codului pentru afișarea unei pagini particulare din meniu sau joc
    • leaderboard.cpp, leaderboard.h - surse pentru manipularea celor mai bune scoruri (citire/scriere pe cardul microSD, afișare pe ecran în mai multe pagini a leaderboard-ului)
    • singleplayer.cpp, singleplayer.h - surse pentru varianta singleplayer a jocului
    • multiplayer.cpp, multiplayer.h - surse pentru varianta multiplayer a jocului

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

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.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2022/ndrogeanu/joc_memorie_gesturi.1653595412.txt.gz · Last modified: 2022/05/26 23:03 by andrei.florea0405
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