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:
listă de piese
-
diagrame de semnal
rezultatele simulării
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