Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2022:fstancu:minesweeper [2022/06/01 02:25]
hristofor.andreev [Hardware Design]
pm:prj2022:fstancu:minesweeper [2022/06/02 10:48] (current)
hristofor.andreev [Software Design]
Line 13: Line 13:
 ===== Descriere generală ===== ===== Descriere generală =====
  
-<note tip>+
 In urma a multe schimbari ale planului am ajuns la cea mai "​curata"​ versiune posibila a proiectului,​ cea in care ecranul lcd cu touch screen este conectat direct la Arduino, datorita faptului ca pinii corespunzatori ecranului isi gasesc loc pe placuta Arduino. In urma a multe schimbari ale planului am ajuns la cea mai "​curata"​ versiune posibila a proiectului,​ cea in care ecranul lcd cu touch screen este conectat direct la Arduino, datorita faptului ca pinii corespunzatori ecranului isi gasesc loc pe placuta Arduino.
-</​note>​+
  
  
Line 21: Line 21:
 ===== Hardware Design ===== ===== Hardware Design =====
  
-<note tip>+
 Lista de piese: Lista de piese:
     placuta Arduino Uno R3     placuta Arduino Uno R3
     Shield cu LCD grafic si touchscreen de 2.4"     Shield cu LCD grafic si touchscreen de 2.4"
-</​note>​ 
  
 +
 +{{:​pm:​prj2022:​fstancu:​arduino_minesweeper2.jpg?​200|}}
 +{{:​pm:​prj2022:​fstancu:​arduino_minesweeper1.jpg?​200|}}
 ===== 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.
  
-<note tip> +Ideea randomizarii
-Descrierea codului aplicaţiei (firmware)+"​Începem prin a arunca moneda noastră ​de opt oriadunând rezultatele:​ cu cât răsturnaț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. 
-  * mediu de dezvoltare (if any) (e.g. AVR StudioCodeVisionAVR) +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țcei 8 biț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. 
-  * librării şsurse 3rd-party (e.gProcyon AVRlib) +Odată ce avem teancul nostru de opt monede, îl folosim pentru a construi patru seturi de opt teancuri de monede. Când octetul nostru este umplut, îl adăugăm la valoarea cuvântului mutându-l peste cantitatea „wordShift” la următorul octet deschis disponibil... stivuim cele mai recente 8 monede peste orice stivă care era deja acolo până când avem 32 de monede."​
-  * algoritmi şi structuri pe care plănuiţsă le implementaţi +
-  * (etapa 3) surse şfuncţii implementate +
-</​note>​ +
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-<note tip> + 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru+Am obtinut un joc minesweeper de o dificultate setabila de utilizator(din cod), dar am observat niste diferente cu aplicatia de care ma folosesc pe telefonul mobil, ele fiind in mare marte niste feature-uri care ar fi foarte bine de avut, dar mai greu de realizat
-</​note>​+
  
 ===== Concluzii ===== ===== Concluzii =====
 +
  
 ===== Download ===== ===== Download =====
  
-<note warning>​ +{{:pm:​prj2022:​fstancu:​333cc_andreev_hristofor_minesweeper_pm.zip|}}
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectuluisurse, 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**. 
-</​note>​ 
  
 ===== Jurnal ===== ===== Jurnal =====
Line 62: 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>​
  
pm/prj2022/fstancu/minesweeper.1654039524.txt.gz · Last modified: 2022/06/01 02:25 by hristofor.andreev
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