This shows you the differences between two versions of the page.
pm:prj2022:fstancu:minesweeper [2022/06/02 10:38] hristofor.andreev [Software Design] |
pm:prj2022:fstancu:minesweeper [2022/06/02 10:48] (current) hristofor.andreev [Software Design] |
||
---|---|---|---|
Line 31: | Line 31: | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | La inceput colorez tot ecranul in negru, dupa care desenez patratele ce reprezinta celule care pot avea, sau nu, bombele. Apasand pe o celula se verifica daca celula nu a fost, deja, apasata, in care caz se verifica daca e o bomba, caz in care se afiseaza "Wasted" pe ecran negru si se termina joaca, sau se afiseaza o cifra in locul celului ce indica cate bombe sunt in zona 3 pe 3 a acelei celule. Scopul final al jocului este cel de a gasi toate minele, fara a apasa pe una din ele. | ||
- | Am folosit IDE-ul Arduino si biblioteca lui Joao Lopes pentru a desena lucrurile pe ecran. | + | Ideea randomizarii: |
- | https://www.arduino.cc/en/software | + | |
- | + | ||
- | https://github.com/JoaoLopesF/SPFD5408 | + | |
- | + | ||
- | + | ||
- | Codul pentru a obtine o randomizare adevarata pentru ca tabla de joc sa fie de fiecare data una noua si sa nu se repete | + | |
- | https://rheingoldheavy.com/better-arduino-random-values/ | + | |
"Începem prin a arunca moneda noastră de opt ori, adunând rezultatele: cu cât răsturnați moneda de mai multe ori, cu atât este mai greu de ghicit. Apoi luăm acea valoare rezultată și folosim doar bitul cel mai puțin semnificativ... LSB-ul sumei a opt LSB... aceasta este o monedă bine randomizata. | "Începem prin a arunca moneda noastră de opt ori, adunând rezultatele: cu cât răsturnați moneda de mai multe ori, cu atât este mai greu de ghicit. Apoi luăm acea valoare rezultată și folosim doar bitul cel mai puțin semnificativ... LSB-ul sumei a opt LSB... aceasta este o monedă bine randomizata. | ||
Acum începem să construim stive de opt monede folosind acei biți. Fiecare bit generat este mutat cu „byteShift” la următoarea poziție de bit disponibilă până când toți cei 8 biți ai octetului sunt plini... adăugăm o monedă în stivă, apoi întoarcem încă 8 până când stiva noastră de 8 monede este completata. | Acum începem să construim stive de opt monede folosind acei biți. Fiecare bit generat este mutat cu „byteShift” la următoarea poziție de bit disponibilă până când toți cei 8 biți ai octetului sunt plini... adăugăm o monedă în stivă, apoi întoarcem încă 8 până când stiva noastră de 8 monede este completata. | ||
Line 66: | Line 59: | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | IDE-ul folosit |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | https://www.arduino.cc/en/software |
- | </note> | + | |
+ | Biblioteca lui Joao Lopes folosita in cadrul proiectului | ||
+ | https://github.com/JoaoLopesF/SPFD5408 | ||
+ | |||
+ | Codul folosit pentru a obtine o adevarata randomizare a jocului | ||
+ | https://rheingoldheavy.com/better-arduino-random-values/ | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||