This shows you the differences between two versions of the page.
pm:prj2021:agrigore:pong [2021/06/02 12:35] liviu.enache0211 [Software Design] |
pm:prj2021:agrigore:pong [2021/06/02 22:22] (current) liviu.enache0211 |
||
---|---|---|---|
Line 7: | Line 7: | ||
* La pornirea programului, se va afisa un ecran de "welcome", iar jocul incepe cand se detecteaza input. | * La pornirea programului, se va afisa un ecran de "welcome", iar jocul incepe cand se detecteaza input. | ||
- | ==== Descriere generala ==== | + | ===== Descriere generala ===== |
=== Functionalitate === | === Functionalitate === | ||
Line 18: | Line 18: | ||
- | ==== Hardware Design ==== | + | ===== Hardware Design ===== |
=== Componente === | === Componente === | ||
Line 35: | Line 35: | ||
=== Conectare fizica === | === Conectare fizica === | ||
{{:pm:prj2021:agrigore:conectare_pong.jpeg?600|}} | {{:pm:prj2021:agrigore:conectare_pong.jpeg?600|}} | ||
- | ==== Software Design ==== | + | |
+ | ===== Software Design ===== | ||
=== Mediu de dezvoltare === | === Mediu de dezvoltare === | ||
Line 68: | Line 69: | ||
* Verifica coliziunea mingii cu paletele, caz in care inverseaza sensul acesteia. | * Verifica coliziunea mingii cu paletele, caz in care inverseaza sensul acesteia. | ||
* Verifica daca mingea a trecut de una din palete, caz in care adauga un punct jucatorului respectiv. | * Verifica daca mingea a trecut de una din palete, caz in care adauga un punct jucatorului respectiv. | ||
- | * Verifica daca jocul a castigat de vreun jucator, apeland functia hasWon(CULOARE) daca este cazul. | + | * Verifica daca jocul a fost castigat de vreun jucator, apeland functia hasWon(CULOARE) daca este cazul. |
**hasWon()** | **hasWon()** | ||
Line 75: | Line 76: | ||
**draw()** | **draw()** | ||
- | * Afiseaza fiecare element al jocului pe ecran | + | * Afiseaza fiecare element al jocului pe ecran. |
* Aceste elemente sunt: terenul (format dintr un chenar dreptunghiular, o linie verticala punctata aflata la mijloc, scorurile jucatorilor) si paletele. | * Aceste elemente sunt: terenul (format dintr un chenar dreptunghiular, o linie verticala punctata aflata la mijloc, scorurile jucatorilor) si paletele. | ||
Line 82: | Line 83: | ||
* Acest efect reprezinta marirea sau micsorarea vitezei pe axa Y a mingii, in functie de cum a fost lovita de paleta. | * Acest efect reprezinta marirea sau micsorarea vitezei pe axa Y a mingii, in functie de cum a fost lovita de paleta. | ||
- | ==== Rezultate obtinute ==== | + | ===== Rezultate obtinute ===== |
* In final, am obtinut clasicul joc de Pong cu o interfata similara cu cea regasita pe consola de jocuri Atari, complet functional si cu cateva feature-uri in plus. | * In final, am obtinut clasicul joc de Pong cu o interfata similara cu cea regasita pe consola de jocuri Atari, complet functional si cu cateva feature-uri in plus. | ||
* Este de asemenea foarte compact, putand fi usor pus intr-o cutie alaturi de o baterie si folosit ca si joc handheld. | * Este de asemenea foarte compact, putand fi usor pus intr-o cutie alaturi de o baterie si folosit ca si joc handheld. | ||
+ | |||
+ | [[https://youtu.be/nmD0pKptaec|Demo]] | ||
=== Derularea jocului === | === Derularea jocului === | ||
Line 93: | Line 96: | ||
{{:pm:prj2021:agrigore:won_pong.jpeg?500|}} | {{:pm:prj2021:agrigore:won_pong.jpeg?500|}} | ||
- | ==== Concluzii ==== | + | ===== Concluzii ===== |
* Proiectul functioneaza si obtine rezultatele asteptate. | * Proiectul functioneaza si obtine rezultatele asteptate. | ||
Line 102: | Line 105: | ||
* Datorita folosirii Arduino Nano, acesta este compact si portabil. | * Datorita folosirii Arduino Nano, acesta este compact si portabil. | ||
- | ==== Download ==== | + | ===== Download ===== |
* {{:pm:prj2021:agrigore:pong.zip|Arhiva sursa}} | * {{:pm:prj2021:agrigore:pong.zip|Arhiva sursa}} | ||
- | ==== Jurnal ==== | + | ===== Jurnal ===== |
* 25/4: crearea paginii Wiki, descriere, diagrama bloc. | * 25/4: crearea paginii Wiki, descriere, diagrama bloc. | ||
* 7/5: achizitionarea componentelor. | * 7/5: achizitionarea componentelor. | ||
Line 115: | Line 118: | ||
* 2/6: finalizarea paginii Wiki. | * 2/6: finalizarea paginii Wiki. | ||
- | ==== Bibliografie/Resurse ==== | + | ===== Bibliografie/Resurse ===== |
* [[https://randomnerdtutorials.com/guide-for-oled-display-with-arduino/|Utilizare display OLED]] | * [[https://randomnerdtutorials.com/guide-for-oled-display-with-arduino/|Utilizare display OLED]] | ||
* {{:pm:prj2021:agrigore:plusivo_nano_starter_kit_guide.pdf|}} | * {{:pm:prj2021:agrigore:plusivo_nano_starter_kit_guide.pdf|}} |