Autorul poate fi contactat la adresa: Login pentru adresa
Balancing Snake este un joc clasic de tip Snake (Nokia).
Am decis sa realizez acest joculet, deoarece este un clasic care merita oricand sa fie jucat.
Totusi, am zis sa il fac mai modern, astfel sarpele este controlat dintr-un accelerometru.
Schema bloc
Se misca accelerometrul, iar datele furnizate pe axele Ox si Oy vor fi intrepretate si redate in miscarea sarpelui pe LCD. Ne intereseaza datele doar de pe cele 2 axe deoarece jocul este unul 2D.
Scheme electrica
Componente
Am folosit 2 biblioteci pentru interfatarea cu:
Structura jocului este destul de simpla, retin intr-un array coordonatele sarpelui, mi-am definit a structura de tip pixel in care retin coordonatele x si y. Intr-o bucla iau datele de la accelerometru si le intrepretez in caz ca trebuie sa schimb directia sarpelui, pentru a reda miscarea sterg la fiecare iteratie ultima bucata din snake si il randez cu o bucata mai la stanga/dreapta/sus/jos. Jocul se termina doar atunci cand sarpele se loveste de el insusi, el poate trece prin pereti.
Video
A fost destul de greu sa si filmez, sa si misc accelerometrul, dar oricum se vede rezultatul
Am invatat ca nu poti sa scrii forate mult cod pentru ca nu o sa incapa in memoria microcontrollerului, astfel trebuie sa iti organizez bine si modular codul.
Problema apare insa atunci cand folosesti biblioteci third-party, nu poti sa le mai iei si sa le pui pur si simplu in program, trebuie sa intri si sa o modifici, astfel incat sa pastrezi doar ce iti trebuie, cel putin eu asa am facut, ca sa imi incapa tot codul