This shows you the differences between two versions of the page.
pm:prj2022:alaura:2-player-pong [2022/05/27 19:08] andrei.neagu1612 [Hardware Design] |
pm:prj2022:alaura:2-player-pong [2022/05/27 19:47] (current) andrei.neagu1612 [Descriere generală] |
||
---|---|---|---|
Line 4: | Line 4: | ||
Prezentarea pe scurt a proiectului: | Prezentarea pe scurt a proiectului: | ||
- | * ajutarea in lupta cu monotonul,am ales sa creez un joc 2d | + | * Am ales sa creez un joc 2d |
- | * ideea de la care am pornit a fost crearea unui joc de 2 jucatori | + | * Ideea de la care am pornit a fost crearea unui joc pentru 2 jucatori |
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | Am ales sa implementez jocul pong ,jocul are ca scop mentinerea mingiei in spatiul ecranului cu ajutorul a | + | Am ales sa implementez jocul pong, jocul are ca scop mentinerea mingiei in spatiul ecranului cu ajutorul a |
- | doua bari controlate de 2 jucatori,odata ce mingea trece de o bara a unui jucator celalalt jucator primeste un punct | + | doua bari controlate de 2 jucatori, odata ce mingea trece de o bara a unui jucator celalalt jucator primeste un punct |
{{ pm:prj2022:alaura:pmist.png |}} | {{ pm:prj2022:alaura:pmist.png |}} | ||
Line 15: | Line 15: | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
- | * listă de piese : ecran lcd,breadborad,fire tata-tata,arduino uno,4 butoane | + | * listă de piese : |
- | * scheme electrice | + | * ECRAN LCD 1.8" SPI KMR-1.8 SPI |
+ | * breadborad | ||
+ | * fire tata-tata | ||
+ | * arduino uno | ||
+ | * 4 butoane | ||
+ | {{ pm:prj2022:alaura:schemadinberceni.png |}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
- | |||
- | <note tip> | ||
Descrierea codului aplicaţiei (firmware): | Descrierea codului aplicaţiei (firmware): | ||
- | verificam daca butonul e apasat,daca e apasat miscam bara playerului corespunzator | + | verificam daca butonul e apasat,daca e apasat miscam bara playerului corespunzator. |
- | </note> | + | Castiga primul jucator care acumuleaza 8 puncte. |
+ | Bibliotecile folosite sunt : | ||
+ | #include <SPI.h> | ||
+ | #include <Wire.h> | ||
+ | #include <TFT.h> | ||
+ | |||
+ | Folosim lcd -ul cu ajutorul functiilor specifice TFTscreen. | ||
+ | Desenam tot ecranul cu negru apoi desenam cu alb barile si mingea. | ||
+ | La fiecare pas tinem cont de coordonatele barilor si a mingiei. | ||
+ | Miscarea mingiei este cauzata de 2 variabile in care am stocat directia acesteia pe axele xoy. | ||
+ | Daca mingea atinge valoarea maxima sau cea minima pe axa OX atunci inmultim valoarea lui direction cu -1,identic pentru axa OY. | ||
+ | Am folosit 4 butoane pentru miscarea barilor astfel:cate 2 butoane pentru fiecare player(unul pentru deplasarea barii la stanga si unul pentru deplasarea barii la dreapta). | ||
+ | Tinem cont de pozitia anterioara a fiecarei componente iar daca aceasta se schimba scriem cu negru | ||
+ | peste pixelii unde obisnuiau sa fie componentele. | ||
+ | |||
https://github.com/Voievodsky/PM/blob/main/cod%20pong%20pm | https://github.com/Voievodsky/PM/blob/main/cod%20pong%20pm | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | foarte bune. | + | {{ pm:prj2022:alaura:terogiomergi.jpg |}} |
+ | {{ pm:prj2022:alaura:terogiomergi2.jpg |}} | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
- | in concluzie jocul si a indeplinit scopul recreational | + | In concluzie,a fost o experienta placuta unde am putut sa creez un lucru palpabil de care sa ma bucur si care poate ajuta oamneni scop recreational. |
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== |