Florentin SIMION (24933) - Balancing Snake

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

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.

Descriere generală

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.

Hardware Design

Scheme electrica

Componente

  • Componente de baza placuta
  • LCD qtouch TFT 320-QVT
  • Accelerometru MPU-6050 6DOF
  • Fire conectoare mama-mama

Software Design

Am folosit 2 biblioteci pentru interfatarea cu:

  • LCD
  • Accelerometru

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.

Rezultate Obţinute

Video

watch

A fost destul de greu sa si filmez, sa si misc accelerometrul, dar oricum se vede rezultatul 8-)

Concluzii

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 LOL

Download

pm/prj2016/amocanu/777.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0