Autorul poate fi contactat la adresa: Login pentru adresa
Proiectul reprezinta implementarea jocului Snake pe o placuta cu LCD.
Ca orice joc, scopul proiectului este pentru amuzament. De asemenea, poate readuce nostalgia jocurilor pe un LCD monocrom.
Ideea de la care am pornit este clasicul joc Snake, in care un “sarpe” mananca punctulete si creste.
Pentru altii proiectul este o sursa de amuzament si nostalgie, datorita LCD-ului monocrom de Nokia 3310. Pentru mine este o sursa de experienta in lucrul cu un microprocesor si in construirea unei placute.
Directia sarpelui se modifica din butoane. Microprocesorul ATMega 324 afiseaza starea jocului pe ecranul LCD si reda sunete pe difuzor la anumite evenimente (mancare, endgame etc.)
Pe langa componentele de baza (Microprocesor, placuta de baza, rezistente etc.), proiectul va include
Schema electrica :
Download : ppmm.sch
Mediu de dezvoltare :
Biblioteca 3rd party pentru LCD : http://www.quantumtorque.com/content/view/32/37/
Alte include-uri:
Implementarea nu urmareste un algoritm special; Sarpele este un vector de puncte rotit constant
Initial se verifica coliziunea cu peretii (daca da, se incheie jocul), apoi se verifica daca mancarea a fost atinsa (daca da, se genereaza alta), apoi se verifica atingerea bonusului (care se genereaza separat cu o anumita frecventa). Se foloseste rand() pentru pozitia mancarii si se verifica cu vectorul de puncte al sarpelui inainte de a fi confirmata.
Seedul pentru random este luat de la inputul jucatorului (in functie de pozitia XY a sarpelui), astfel incat doar prima mancare va fi mereu in acelasi loc, iar restul vor fi in locuri diferite la fiecare replay.
Sunetele sunt redate prin set/unset repetat pe pinul difuzorului, prin intermediul tranzistorului, cu diverse delay-uri.
Desenele sunt afisate prin setari individuale ale pixelilor in lcd.c .
Clasicul joculet snake cu mici bonusuri/obstacole aparute pe harta si diverse sunete. De asemenea, meniu de configurare si poveste :)
Experienta a fost una destul de placuta. Am avut ocazia sa achizitionez un Nokia 3310 pe care l-am facut bucati si sa aflu cum functionau telefoanele pe vremuri. In plus, a fost destul de rewarding sa fac displayul sa mearga dupa prima incercare de lipire (avand in vedere distanta <1mm dintre lamelele de conexiune).
Inca un aspect pozitiv este faptul ca am reusit sa realizez ceva practic, sa imbin software-ul cu hardwareul.
Frankensetin w/o anything
Frankenstein w/o software
Frankenstein with software
–Beta : Implementarea de baza–
–Final : Cu meniuri, splashscreenuri etc.–
Resurse Software
http://www.quantumtorque.com/content/view/32/37/
Resurse Hardware
https://www.youtube.com/watch?v=Hdth4pEyDU4
http://libesz.digitaltrip.hu/wp-content/uploads/3310_pinout.jpg
http://www.atmel.com/Images/Atmel-42743-ATmega324P_Datasheet.pdf