Autorul poate fi contactat la adresa: Login pentru adresa
Prezentarea pe scurt a proiectului vostru:
Voi implementa clasicul joc Snake, pe un LCD de Nokia 3310.
Scopul proiectului este de a crea un joc interactiv care poate fi jucat de toti userii.
Am vrut sa folosesc neaparat un LCD deoarece mi se pare interesant si aceasta a fost prima idee care mi-a venit si am mers pe primul instinct :)
Pentru mine este util deoarece ma familiarizez cu folosirea diferitelor componente (ecran,leduri,butoane) si cu scrierea algoritmului pentru snake, care mi se pare unul interesant, iar pentru altii poate fi distractiv sa isi aduca aminte de jocurile copilariei si sa se poate juca acest joc.
Userul va controla sarpele din cele doua butoane, scopul lui fiind de a strange cat mai multe puncte.Aceste puncte vor aparea random pe ecran imediat dupa ce sarpele trece printr-un punct.Trecand prin aceste puncte, lungimea sarpelui se va mari iterativ. Ca sa nu moara, acesta va trebui sa nu intre in corpul lui, iar daca trece prin zid acesta va putea aparea pe partea cealalta.
Piese folosite:
Am legat cele 5 butoanele la pinii portului C si display-ul la pinii portului A cu ajutorul unor fire foarte subtiri ( ca in schema de mai sus ).
Faza intermediara a proiectului ( 80% din partea hardware e gata + api-ul pentru LCD de Nokia 3310 ) :
Am folosit urmatoarele programe:
Eagle 7.3.0 - pentru realizarea schemei electrice WinAVR Programmer's Notepad bootloadHID - pentru a incarca codul si a testa rezultatele pe placuta
Am implementat algoritmul joucului de Snake, urmarind regulile cunoscute:
- am initializat pozitia sarpelui si a hartii
- sarpele isi schimba directia in functie de butoanele apasate ( sus,jos,stanga si dreapta )
- am adaugat random pe harta un punct ce reprezinta mancarea
- atunci cand sarpele ajunge in punctul in care se afla mancare el se mareste cu o unitate
- daca sarpele intra in corpul lui moare
- celelalte puncte ale corpului, exceptand capul sarpelui, urmeaza directia capului
- afisez scor,game over,mesaj de pornire in functie de starea jocului
Pentru folosirea LCD-ului de Nokia 3310 am folosit un API - lcd.c/lcd.h
Am terminat partea Software, din punctul meu de vedere, deoarece inca nu am putut sa testez intregul proiect din cauza placutei. Teoretic, partea Hardware ar fi trebuit sa fie si ea Ok, deoarece din discutia purtata cu asistentii schema electrica e buna, iar implementarea ei propriu-zisa a fost conform schemei.
S-ar putea insa sa existe un scurt circuit undeva, pe care nu-l observ, deoarece pinii LCD-ului sunt foarte mici si foarte apropiati.