Differences

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

Link to this comparison view

pm:prj2021:agrigore:candy-crush [2021/05/22 16:48]
diana.patru
pm:prj2021:agrigore:candy-crush [2021/05/23 11:01] (current)
diana.patru
Line 3: Line 3:
 [[diana.patru@stud.acs.upb.ro|Pătru Diana-Georgiana]] [[diana.patru@stud.acs.upb.ro|Pătru Diana-Georgiana]]
 ===== Introducere ===== ===== Introducere =====
-{{:​pm:​prj2021:​agrigore:​c_crush1.jpg?​370|}}+{{:​pm:​prj2021:​agrigore:​c_crush1.jpg?​300|}}
 ==== Despre proiect ==== ==== Despre proiect ====
 Proiectul ales de mine urmărește o implementare minimală a celebrului joc Candy Crush. ​ Jucătorul va avea de aliniat pe linie sau coloană o  serie de //​bomboane//​ de același tip pentru a le putea distruge primind puncte. Jocul se resetează într-un minut, astfel că challenge-ul îl reprezintă obținerea unui scor cât mai bun.\\ Proiectul ales de mine urmărește o implementare minimală a celebrului joc Candy Crush. ​ Jucătorul va avea de aliniat pe linie sau coloană o  serie de //​bomboane//​ de același tip pentru a le putea distruge primind puncte. Jocul se resetează într-un minut, astfel că challenge-ul îl reprezintă obținerea unui scor cât mai bun.\\
Line 30: Line 30:
 ===== Software Design ===== ===== Software Design =====
 Mediul de dezvoltare pe care l-am folosit: Mediul de dezvoltare pe care l-am folosit:
-  * Arduino IDE  - pentru încărcarea programului pe placuță;​ +  ​* **Arduino IDE**  - pentru încărcarea programului pe placuță;​ 
-  * Atom - pentru dezvoltarea codului; +  ​* **Atom** - pentru dezvoltarea codului; 
-  * Eagle - pentru realizarea schemei electrice ; +  ​* **Eagle** - pentru realizarea schemei electrice ; 
-  * Draw.io - pentru schema bloc a proiectului;​+  ​* **Draw.io** - pentru schema bloc a proiectului;​
 Biblioteci folosite: Biblioteci folosite:
-  * Pentru interacțiunea cu LCD-ul, am descărcat libraria ​PCD8554.((https://​github.com/​adafruit/​Adafruit-PCD8544-Nokia-5110-LCD-library));​ +  * Pentru ​**//interacțiunea cu LCD-ul//**, am descărcat libraria ​__PCD8554.h__ ((https://​github.com/​adafruit/​Adafruit-PCD8544-Nokia-5110-LCD-library));​ 
-  * Pentru redarea melodiei atunci când se expiră timpul alocat fiecarui joc, am folosit codul ce se află în header-ul ​buzzer.((2)); +  * Pentru ​**//redarea melodiei//** atunci când se expiră timpul alocat fiecarui joc, am folosit codul ce se află în header-ul ​__buzzer.h__ ((https://​www.arduino.cc/​en/​Tutorial/​BuiltInExamples/​toneMelody)); 
-  * Pentru interacțiunea cu joystick-ul,​ am folosit codul propus de pe site-ul de unde l-am achiziționat ((3));+  * Pentru ​**//interacțiunea cu joystick-ul//**, am folosit codul propus de pe site-ul de unde l-am achiziționat ((https://​ardushop.ro/​ro/​electronica/​127-modul-joystick.html)); 
 +Funcții folosite: 
 +  * //​verify_collision()//​ - verific dacă s-a format pe linie sau pe coloană o succesiune de minim 3 bomboane de același tip 
 +  * //​print_lcd()//​ - afișez pe ecran scorul dar și matricea cu formele corespunzătoare 
 +  * //​reset_lcd()//​ - funcție apelată la apăsarea butonului sau la expirarea timpului alocat 
 +  * //​init_timer()//​ - inițializarea timer-ului  
 +  * //​createChar()//​ - realizarea corespondența între un char și un tip de bomboană pentru a ușura prelucrarea datelor 
 +  * //​drawBitmap()//​ - afișează forma unei bomboane pe ecran 
 +<note tip>Alte observații:​ 
 +  - Melodia redată la expirarea timpului alocat sau la apăsarea butonului de reset este apelată cu funcția //​play_melody()//​ din buzzer.h 
 +  - Timer-ul este setat să aloce un minut pentru fiecare încercare a jucătorului. 
 +  - Alegerea căsuței pentru intershimbarea ei, se realizează cu ajutorul celor 2 valori analogice ale joystick-ului iar selectarea acesteia se obține prin output-ul digital încorporat în joystick 
 +  - Inițializarea ecranului cu formele de bomboane este random, astfel că după orice schimbare, se verifică dacă s-a format o nouă succesiune de bomboane 
 +</​note>​
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
 +Demo: https://​www.youtube.com/​watch?​v=tq6qaPf6Mag\\ 
 +{{:​pm:​prj2021:​agrigore:​poza_demo_candycrush.jpeg?​600|}} \\ 
 +{{:​pm:​prj2021:​agrigore:​candy-crush-poza2.jpeg?​600|}}
 ===== Concluzii ===== ===== Concluzii =====
 +Pot spune că a fost un proiect interesant și mă bucur că am reușit să îl implementez până la final ^_^. A fost o experiență nouă în cadrul căreia am reușit să iau puțin contact cu programarea embedded și să realizez un joc funcțional pornind doar de la câteva componente hardware. ​
 ===== Download ===== ===== Download =====
-<​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​PDF</​a></​html>​+Pdf pagina ocw: <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​PDF</​a></​html> ​\\ 
 +Arhiva cod: {{:​pm:​prj2021:​agrigore:​candy-crush.zip|}} \\
  
 ===== Jurnal ===== ===== Jurnal =====
   * 24 Aprilie -> alegerea temei proiectului \\   * 24 Aprilie -> alegerea temei proiectului \\
   * 08 Mai -> achiziționare piese\\   * 08 Mai -> achiziționare piese\\
-  * 11 Mai -> realizare montaj hardware\\ +  * 11 Mai -> realizare montaj hardware ​final\\ 
-  * 13 Mai -> schema electrica \\ +  * 13 Mai -> schema electrica ​in eagle \\ 
-  * 17 Mai -> implementare forme pe LCD \\+  * 17 Mai -> implementare forme pe LCD și asezarea elementelor pe ecran \\
   * 18 Mai -> updatate pagina ocw și realizare interacțiune între LCD și joystick\\   * 18 Mai -> updatate pagina ocw și realizare interacțiune între LCD și joystick\\
   * 20 Mai -> interacțtiune LCD - buzzer ​   * 20 Mai -> interacțtiune LCD - buzzer ​
pm/prj2021/agrigore/candy-crush.1621691332.txt.gz · Last modified: 2021/05/22 16:48 by diana.patru
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