Autorul poate fi contactat la adresa: Login pentru adresa
Mi-am ales ca proiect implementarea jocului Snake, doar ca intr-o alta varianta (si anume pe o matrice de led-uri 8×8). Controlul asupra sarpelui va fi realizat prin patru butoane, care vor reprezenta toata posibilitatile acestuia de a produce miscare (sus, jos, stanga, dreapta). In plus, mancarea sarpelui este generata aleator si dimensiunea lui va creste cu inca o unitate dupa ce va manca.Sarpele nu va muri atunci cand intalneste un perete al camerei, ci va putea trece prin acesta, va muri doar atunci cand se lovi de propria sa coada. In functie de comenzile care sunt trimise la microcontroller, starea matricii de leduri se va modifica.
Configuratia matricii de leduri este retinuta intr-un tablou bidimensional de 8×8. Aceasta contine elemente de 0 si 1 care au semificatia:
Matricea este reprezentata pe leduri cu ajutorul functiei afisare(). La start se realizeaza un joc de culori si se aprind ledurile pe coloane pana se umple intreaga matrice. Sarpele isi schimba directia cu ajutorul celor 4 butoane (sus, jos, stanga, dreapta). Jocul se opreste in momentul in care sarpele se intersecteaza cu el insusi. Hrana este generata aleatoriu cu ajutorul functiei generare_hrana(), iar in momentul in care sarpele o mananc lungimea lui creste cu o unitate. De asemenea intregul algoritm al jocului este implementat in functia de reactualizare(), care verifica toata cazurile posibile ( daca este pe margini, daca se loveste de el insusi ⇒ sarpele o sa moara, daca ajunge la mancare). In momentul in care sarpele se loveste de el insusi, se va afisa mesajul “END GAME”.
Proiectul a fost o provocare pentru mine. Am muncit destul de mult si a durat sa inteleg cum reusesc sa identific anozii si catozii matricei de leduri, deoarece acestia erau incrucisati si nu aveam nicio indicatie inscriptionata pe matrice si a fost destul de dificil. De asemenea, proiectul a necesitat o mare atentie din partea mea atunci cand au fost realizate lipiturile, pentru ca au fost intr-un numar destul de mare si a trebuit sa ma organizez si sa incerc sa sa lucrez cat mai ordonat. In concluzie, realizarea integrala a proiectului mi-a adus o multumire personala si consider ca a meritat tot efortul depus.
Arhiva ce contine : README, sursa C, Makefile antoheandreea.zip