Ioan DINU (66978) - Minesweeper

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Jocul are 6 * 7 casute si 5 bombe, bombele sun plasate aleator in casute, scopul jocului este de a descoperi si de a marca bombele, daca totusi apesi pe o bomba jocul se termina.

Descriere generală

Pe butoane ne deplasam in casute si selectam casuta dorita, atmega16 - se fac calculele si se verifica ce se afla in casute, iar pe lcd se afiseaza rezultatul.

Hardware Design

5 rezistente de 2k2 5 rezistente de 4k6 4 diode 1N4007 1 condensator 10uF 7 butoane (stanga, dreapta, sus, jos, selectare, marcare, salvare joc/incarcare joc salvat) LCD Nokia 3310 PCD8544

Software Design

Tabela de joc este o matrice unsigned char. Dimensiunile sunt 6*7. Informatiile din fiecare tabela[i][j] sunt urmatoarele: numarul de bombe se retine in primii 3 biti, bitul 4 (si bitul 8) este nefolosit, bitul 5 este setat doar in cazul in care este setata o bomba sau nu, bitul 6 reprezinta marcajul utilizatorului, iar bitul 7 semnifica daca o casuta a fost descoperita sau nu.

Functia uncover_cell() - functie recursiva - se apeleaza cand utilizatorul selecteaza o casuta pentru descoperire, cand sunt bombe in jurul casutei, functia se opreste din recursivitate.

In cazul in care se termina jocul, se afiseaza toata tabela, si se poate incepe un joc nou sau sa se revina la unul salvat.

Salvarea jocului se face in memoria EEPROM.

Rezultate Obţinute

Concluzii

Realizarea proiectului a fost avut un nivel mediu de dificultate. Realizarea placutelor a fost destul de durabila deoarece la laboratoare asistentii au fost foarte solicitati.

Download

Jurnal

1. M-am documentat in legatura cu jocul Minesweeper

2. Am cumparat componentele necesare.

3. Am lipit componentele

4. M-am ocupat de dezvoltarea softului

5. Am instalat softul pe placa.

Bibliografie/Resurse

pm/prj2017/aaldescu/ioan.dinu.txt · Last modified: 2021/04/14 17:07 (external edit)
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