Autorul poate fi contactat la adresa: Login pentru adresa
O sa implementez jocul Snake pe un ecran LCD si cu ajutorul celor 4 butoane de schimbat directia: stanga, dreapta, sus, jos, jucatorul poate controla “sarpele” pentru a colectiona puncte, a feri obstacolele, a colectiona surprizele (fie de marire a vitezei, fie de incetinire). De asemenea, cu fiecare punct castigat, dimensiunea sarpelui va creste si dificultatea jocului va creste, iar cel mai mare score atins va fi inregistrat in sectiunea Best Highscore. Scopul jocului e de a strange cat mai multe puncte pentru a depasi Best Highscore-ul curent. Am ales acest joc single player ca tema de proiect pentru ca este un joc fun pe care cu totii l-am jucat.
Schema bloc este urmatoarea:
Lista piese optionale:
- LCD grafic SPI;
- 4 Butoane;
- Breadbord;
- conectori mama-tata;
- conectori tata-tata.
Schema electrica este urmatoarea:
Schema electrica nu mai estre valabil, intrucat mi s-a ars display-ul LCD-ului folosit initial. Pentru LCD-ul actual am legat urmatoarele conexiuni: - BTN1 → PB0
- BTN2 → PB1
- SPI_RST → PB3
- SPI_DC → PB2
- SPI_MOSI → PB5
- SPI_SCK → PB7
- SPI_CS1 → PB4
Am implementat codul proiectului folosind o biblioteca arduino, putin modificata. Lungimea initiala a sarpelui va fi de 3 patratele (12 x 16 rezolutia patratelului folosit ca unitate de masura in lungimea sarpelui). Am folosit 4 butoane carora le-am testat functionalitatea prin schimbarea culorii unui singur patratel. Am implementat marginea arenei de deplasare a sarpelui si am folosit o structura pentru a retine coordonatele atat alea capului cat si ale cozii sarpelui pe axele Ox si Oy. Nu am avut timp sa implementez directionarea sarpelui, proiectul fiind in stadiu incipient din punct de vedere al programarii software. Codul este scris in mediul de dezvoltare AVR Studio.
Am reusit sa redau arena de deplasare a sarpelui, am testat functionalitatea butoanelor si am realizat starea initiala a sarpelui.
Mi-a placut mult ideea proiectului ales de mine si cu siguranta am avut multe de invatat atat din punct de vedere al realizarii schemelor electrice, al implementarii hardware & software. Cu siguranta o sa continui implementarea software a jocului Snake pentru ca mi-a starnit interesul, proiectoarea microprocesoarelor fiind una dintre cele mai interesante materii din acest semestru.
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:prj2016:avoinescu:dumitru_alin.