Table of Contents

Ioana-Adriana CHIRCA (78566) - Reflex Game

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Acesta este un joc 2-player care testeaza viteza de reactie a jucatorilor, insa fara a ajunge la confruntari fizice sangeroase, cum se poate intampla la Jungle Speed. Exista 2 controllere, fiecare avand conectate la el un cate un modul Bluetooth, un display pentru starea jocului, o matrice de leduri si o suprafata de apasare. Pe fiecare matrice va aparea cate un pattern de leduri, iar in cazul in care cele doua sunt identice, jucatorul care apasa primul primeste un punct. Daca apasa la patternuri diferite, va suferi o penalizare - aceste informatii pot fi urmarite pe display. Jocul se termina dupa cateva runde.

Descriere generală

Cele doua controllere comunica intre ele prin Bluetooth. Inainte de a incepe jocul, ele trebuie sa se sincronizeze, pentru a putea compara 'timestampuri' de apasare. Unul dintre ele va fi desemnat master la inceput si pe tot parcursul jocului el va determina ce patternuri vor fi afisate pe fiecare dintre matrice.

FLOW

1. Controllerele se sincronizeaza.
2. Este desemnat masterul.
3. Sa zicem ca avem 3 runde. Masterul stabileste 3 perechi de cate doua patternuri (macar o pereche identica) pe care sa le afiseze fiecare la cate x secunde.
4. O runda decurge astfel: Masterul trimite un cod de pattern celuilalt controller si un timestamp la care sa il afiseze. La acel moment de timp, modelele apar pe fiecare matrice. La apasarea pe master, acesta inregistreaza timestampul. La apasarea pe slave, acesta trimite timestampul la master. Masterul compara timestampurile si determina daca vreun jucator primeste puncte sau penalizari.
5. La terminarea rundelor este afisat castigatorul pe display-uri.

…Acesta a fost ideea initiala :)
Deoarece nu am reusit sa-i dau de cap comunicarii wireless, am simplificat putin abordarea, ajungand sa folosesc un singur microcontroller, care afiseaza pe un display grafic informatii despre ambii jucatori.

Diagrama bloc a proiectului arata acum asa:

Hardware Design

Lista de componente:

Conexiuni:

Schema electrică

Acesta este schema pentru versiunea cu comunicare wireless. Cand voi avea timp, voi modifica schema cu varianta curenta a proiectului.

Software Design

Jocul decurge astfel:

Cele 3 clase se pot observa in figura: pe primul rand sunt patratele, pe al doilea liniile si pe ultimul intersectiile.

Observatii legate de cod:

Mediu de dezvoltare:

avrdude -p m324pa -P usb -c avrispmkII -U flash:w:main.hex -F

Rezultate Obţinute

Prototip:

Rezultat final:

Concluzii

Download

Behold, the code: reflex_game.zip

Jurnal

Bibliografie/Resurse

Resurse Sofware