This shows you the differences between two versions of the page.
pm:prj2021:apredescu:2048pelcd [2021/06/02 19:49] alexandru.blaj1404 |
pm:prj2021:apredescu:2048pelcd [2021/06/02 20:45] (current) alexandru.blaj1404 |
||
---|---|---|---|
Line 5: | Line 5: | ||
Proiectul consta in implementarea jocului 2048 folosind o placuta Arduino si un ecran LCD. In implementare voi folosi butoane. Jocul trebuie sa permita player-ului sa ajung la numarul 2048 prin adunari succesive. Am gasit un proiect asemanator in anii trecuti si mi-a atras atentia. Voi putea folosi cunostintele invatate la PM construind un joc distractiv si antrenant. | Proiectul consta in implementarea jocului 2048 folosind o placuta Arduino si un ecran LCD. In implementare voi folosi butoane. Jocul trebuie sa permita player-ului sa ajung la numarul 2048 prin adunari succesive. Am gasit un proiect asemanator in anii trecuti si mi-a atras atentia. Voi putea folosi cunostintele invatate la PM construind un joc distractiv si antrenant. | ||
===== Descriere generala ===== | ===== Descriere generala ===== | ||
- | Jocul va contine 4 butoane, 4 pentru deplasarea pe tabla de joc si unul dintre cele 4 butoane este de "SELECTIE". Cand este selectata o casuta se va colora casuta respectiva. Jocul se termina cand jucatorul ajunge la numarul 2048 sau nu mai are mutari valide. | + | Jocul va contine 4 butoane, 4 pentru deplasarea pe tabla de joc. La intalnirea a doua patrate cu numar identic se formeaza un singur patrat purtand ca numar suma celor 2 patrate din care a fost format. Jocul se termina cand jucatorul ajunge la numarul 2048 sau nu mai are mutari valide. |
{{:pm:prj2021:apredescu:dragos_schema.png|}} | {{:pm:prj2021:apredescu:dragos_schema.png|}} | ||
Line 52: | Line 52: | ||
Jocul porneste direct si putem selecta directia de deplasare a numerelor folosind cele 4 butoane. | Jocul porneste direct si putem selecta directia de deplasare a numerelor folosind cele 4 butoane. | ||
- | Primul buton il folosim pentru a deplasa numerele in stanga. | + | * Primul buton il folosim pentru a deplasa numerele in stanga. |
- | Al doilea buton il folosim pentru a deplasa numerele in sus. | + | * Al doilea buton il folosim pentru a deplasa numerele in sus. |
- | Al treilea buton il folosim pentru a deplasa numerele in jos. | + | * Al treilea buton il folosim pentru a deplasa numerele in jos. |
- | Al patrulea buton il folosim pentru a deplasa numerele in drepta. | + | * Al patrulea buton il folosim pentru a deplasa numerele in drepta. |
+ | |||
+ | Tabla de joc este o matrice de 4x4 si la inceput doar 2 patrate din 16 au numar si sunt selectate aleatoriu. | ||
+ | |||
+ | La o mutare valida se alege aleatoriu un patrat din tabela, care nu contine numar, si i se atribuie o valoare de 2 sau 4. | ||
+ | |||
+ | Cand jucatorul ajunge la numarul 2048 jocul se termina afisand mesajul "Game Won" si se reinitializeaza tabela de joc. | ||
+ | |||
+ | Daca jucatorul nu mai are mutari valide jocul se termina afisand mesajul "Game Lost" si se reinitializeaza tabela de joc. | ||
+ | |||
+ | |||
+ | Mediu de dezvoltare folosit este "Arduino IDE" si am folosit biblioteca "U8g2lib" pentru ecranul LCD ST7920. | ||
===== Rezultate obtinute ===== | ===== Rezultate obtinute ===== | ||
- | ===== Concluzii ===== | + | [[https://youtu.be/8RMVxSdz0_8 | Demonstratie]] |
+ | |||
+ | |||
+ | {{:pm:prj2021:apredescu:2048_pe_lcd_dragos.jpeg?300|}} | ||
+ | ===== Concluzii ===== | ||
+ | Proiectul il consider un succes si este implementat in totalitate. Mi-a placut sa lucrez la acest proiect, deoarece am putut sa implementez un joc pe hardware si sa vad cum functioneaza. Am invatat sa lucrez mai bine pe arduino si cu un LCD folosind bibliotecile potrivite. | ||
===== Download ===== | ===== Download ===== | ||
+ | {{:pm:prj2021:apredescu:2048_cod_sursa.zip| Cod Sursa}} | ||
+ | |||
[[https://ocw.cs.pub.ro/courses/pm/prj2021/apredescu/2048pelcd?do=export_pdf|Download document]] | [[https://ocw.cs.pub.ro/courses/pm/prj2021/apredescu/2048pelcd?do=export_pdf|Download document]] | ||
+ | |||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
https://www.youtube.com/watch?v=GsrugNJ2JXU&t=93s | https://www.youtube.com/watch?v=GsrugNJ2JXU&t=93s | ||
+ | |||
+ | https://github.com/olikraus/u8g2 | ||
+ | |||
+ | https://play2048.co/ |