This is an old revision of the document!


Minesweeper

Introducere

Proiectul meu constă într-o simulare a jocului Minesweeper pe un display de dimensiuni reduse, în care este inclus un buzzer pentru a marca începutul și finalul jocului în funcție de verdictul acestuia (câștigător/necâștigător).

Scopul acestui proiect este să recreez experiența clasică a jocului Minesweeper pe un dispozitiv compact, oferind posibilitatea de experimenta acest joc captivant, chiar și într-un mediu mai restrâns.

Cred că acest proiect este util pentru alții deoarece oferă o alternativă de petrecere a timpului liber și stimulează logica și gândirea strategică. Pentru mine, acest proiect reprezintă o oportunitate de a-mi dezvolta abilitățile în programare și de a oferi o soluție creativă și interactivă pentru utilizatori.

Descriere generală

1. Inițializarea jocului:

  • Se inițializează matricea reprezentând tabla de joc pe placa Arduino cu dimensiunile prestabilite și se plasează un număr aleator de bombe în diverse poziții în matrice.
  • Se afișează pe display un mesaj de început și se activează buzzer-ul pentru a marca începutul jocului.

2. Interacțiunea utilizatorului:

  • Utilizatorul selectează o poziție din matrice, reprezentând o celulă din tabla de joc, folosindu-se de butoane (pentru selectare) și joystick (pentru mutare).
  • Dacă poziția aleasă este o bombă, se declanșează finalul jocului și se activează buzzer-ul pentru a indica pierderea.
  • Dacă poziția aleasă nu este o bombă, se afișează numărul de bombe adiacente (0, 1, 2, 3 etc.) și se continuă jocul.

3. Descoperirea zonei:

  • Dacă poziția selectată are valoarea 0 (adică nu are bombe adiacente), se descoperă automat o zonă de celule conectate care nu conțin bombe, extinzând astfel aria jocului.
  • Pentru aceste celule, se afișează numărul de bombe adiacente sau, în cazul în care sunt și ele 0, se continuă descoperirea zonei.

4. Verificarea câștigului:

  • După fiecare selectare a unei poziții, se verifică dacă toate celulele fără bombe au fost descoperite. Dacă da, jocul este câștigat.
  • În cazul câștigului, se declanșează finalul jocului și se activează buzzer-ul pentru a indica câștigul.

5. Finalizarea jocului:

  • Dacă utilizatorul a selectat o poziție cu bombă sau a descoperit toate celulele fără bombe, jocul se încheie.
  • Se afișează un mesaj corespunzător pe display și se dezactivează buzzer-ul pentru a marca sfârșitul jocului.

Hardware Design

Aici puneţi tot ce ţine de hardware design:

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

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/prj2024/sseverin/andra_ioana.stoica.1714314636.txt.gz · Last modified: 2024/04/28 17:30 by andra_ioana.stoica
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