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:18]
hristofor.andreev [Descriere generală]
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> 
-Aici puneţi tot ce ţine de hardware design: 
-  * listă de piese 
-  * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri,​ e.g. http://​www.captain.at/​electronic-atmega16-mmc-schematic.png) 
-  * diagrame de semnal ​ 
-  * rezultatele simulării 
-</​note>​ 
  
 +Lista de piese:
 +    placuta Arduino Uno R3
 +    Shield cu LCD grafic si touchscreen de 2.4"
 +
 +
 +{{:​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 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. 
-  * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) +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. 
-  * librării şi surse 3rd-party (e.g. Procyon 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ţi să le implementaţi +
-  * (etapa 3) surse şi 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 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**. 
-</​note>​ 
  
 ===== Jurnal ===== ===== Jurnal =====
Line 64: 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.1654039107.txt.gz · Last modified: 2022/06/01 02:18 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