Table of Contents

Mobile Game Joystick

Nume: Nedelcu Alexandru-Ștefan

Grupa: 334CC

Introducere

Prezentarea pe scurt a proiectului vostru:

  • ce face
  • care este scopul lui
  • care a fost ideea de la care aţi pornit
  • de ce credeţi că este util pentru alţii şi pentru voi

Voi implementa un joystick care va comunica wireless cu un joc pe telefon. Va transmite miscarea personajului la joc si va primi de la joc diferite semnale care vor influenta muzica si scorul care apare pe display-ul LCD. Vreau ca joystickul sa influente si alegerea unui buton din ecranul principal al jocului pe telefon. Scopul este divertismentul, totul pornind avand acest lucru in minte.

Descriere generală

O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează.

Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html

Schemă bloc

Schema arata cum se poate comunica cu placuta Arduino: printr-un Joystick si printr-un buton. Placuta comunica la randul ei cu telefonul. In functie de ce trimite aplicatia de pe telefon, placuta afiseaza pe ecran un scor si trimite buzzerului ce melodie sa cante.

Aplicatia de pe telefon va avea 2 moduri: Modul ecran principal si modul joc. Prin joystick se poate misca jucatorul printre butoanele de PlayGame si LeaveGame si prin buton se face alegerea propriu-zisa. Daca apasa pe PlayGame, incepe jocul. Joystickul se poate misca stanga dreapta odata cu personajul, iar butonul va face personajul sa sara. Jocul consta in mersul unui personaj pe langa inamici si atacarea acestora prin sarirea deasupra lor. Melodii diferite se vor auzi in ecranul principal, in timpul jocului si daca personajul este lovit. Scorul consta in numarul de inamici infranti.

Hardware Design

Aici puneţi tot ce ţine de hardware design:

Lista piese:

Software Design

Codul l-am implementat in cea mai mare parte in Arduino IDE. Am implementat mai multe stari, in functie de care am trimis ce trebuia afisat pe lcd. Starea de inceput afiseaza un cerc pe prima sau a doua linie din lcd. Joystickul controleaza unde se afla cercul. In functie de unde este cercul, butonul, printr-o intrerupere, schimba starea. In prima stare, canta si o melodie pe fundal. Daca cercul e pe prima linie, incepe urmatoarea faza, a doua linie inchide pur si simplu jocul. Urmatoarea faza consta in alegerea numelui de 3 litere a celui care joaca jocul in functie de joystick si de buton. Joystickul trece prin alfabet in functie de directiile dreapta stanga in care este indreptat. Butonul trece la urmatoarea litera si dupa ultima trece in urmatoarea faza(Faza jocului) In Faza jocului, caracterul se poate deplasa stanga dreapta sus jos. Sus jos schimba linia, iar stanga dreapta scad sau cresc o variabila pentru pozitia personajului. In functie de pozitie, apar pe ecran doar obstacole vizibile. Scorul este de fapt aceasta pozitie fata de inceput. Am implementat si o aplicatie pe telefon care primeste prin bluetooth numele si scorul si updateaza un clasament al jucatorilor.

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

Video: LcdGame

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Download

Codul sursa → Arhiva

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF