Anghel CĂLUGĂREANU (93078) - Maze-Game

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Maze-Game reprezinta tipul unui joc ce are mai multe obstacole. Scopul jocului este ca jucatorul curent sa treaca prin toate obstacolele ca sa ajunga la destinatia finala. Jucatorul va avea un numar limitat de timp pentru a trece nivelul curent. Jocul va avea 3-4 nivele.

Este un joc interesant si util pentru gandire logica.

Descriere generală

Tastatura 4×4:

  Voi folosi aceasta tastatura pentru tastarea id-ului jucatorului curent.

Accelerometru:

  Pentru deplasarea jucatorului prin obstacole voi folosi un accelerometru.

Senzor de miscare:

  Pentru inceperea unui nou joc, jucatorul va deplasa cu mana peste acest senzor.

LCD:

  Toate datele se vor afisa pe LCD. Prin date ma refer la jocul curent si tastarea user-ului care incepe jocul.

Buzzer:

  Cand se va incepe un joc nou sau cand se va termina unul, se va auzi ceva interesant.

Hardware Design

Lista de piese:

1.LCD;

2.Buzzer;

3.Accelerometru;

4.Senzor de miscare;

5.Tastatura 4×4;

6.Fire mama-mama;

7.Stabilizator de tensiune;

8.Cablu Arduino USB-V;

9.Componente de baza;

10.Placuta de test.

Schema Electrica:

Software Design

Mediu de Dezvoltare

WinAvr

Editor de text

Notepad++

Librarii

  1. i2cmaster.h - comunicarea prin I2C
  2. mpu6050.h - lucrul cu accelerometrul
  3. lcd.h - pentru LCD-ul Nokia

Implementare joc

Jocul se va incepe cu introducerea datelor a player-ului curent. Acestea se vor retine intr-un buffer pentru a arata la sfarsit numarul de puncte acumulate in functie de cat de repede a trecut nivelul. Apoi se va incepe joculetul cu un caracter pe ecran care se va putea deplasa prin obstacole, pentru a ajunge la finish. Precum LCD-ul de Nokia e pe 84×48, el are 16 linii pe axa x si 6 coloane pe axa y. Precum mi-a trebuit mai mult sa lucrez pe 48×84 am considerat ca sunt 6 linii si 16 coloane. Jucatorul are un numar limitat de timp pentru a trece jocul. In timpul jocului cu trecerea timpului, ledul incepe sa lumineze cat mai repede pentru a avertiza jucatorul ca trece timpul. Precum dimensiunea ecranului nu e prea mare, nu am reusit sa fac un joc foarte avansat, avand doar 2 nivele (posibil sa-l fac si pe al treilea pana vineri :) ). Am implementat si coliziunile cu obiectele de pe ecran, insa jucatorul se mai blocheaza cateodata intre ele si cam nu stiu de ce. Cand incepe si cand se termina jocul am programat buzzer-ul sa redea niste melodii. Am folosit accelerometrul pentru ca jucatorul curent sa mute biluta de pe ecran si sa o deplaseze spre finish. De fiecare data retin pozitia bilei pentru ca sa stiu unde s-a deplasat si sa-i preiau noua pozitie si asa pana la finish. Am luat in calcul toate cazurile posibile, in caz ca iese bila de pe ecran, retin de fiecare data vechea pozitie pentru ca sa evitam aceste cazuri. Nu am mai folosit senzorul de miscare pentru ca nu mi s-a parut util sa-l folosesc in proiectul dat. Cam asa reprezinta joculetul meu. Se putea mai bine decat atat, dar sunt multumit cu ce mi-a iesit.

Rezultate Obţinute

Am obtinut toate rezultatele la care ma asteptam. Am considerat sa nu folosesc senzorul de miscare pentru ca nu era util pentru proiectul meu. Nu am folosit modulul OLED 128×64 pentru ca presupunea sa instalez niste drivere (biblioteci) pentru ca sa-l pornesc. Din pacate, nu am reusit sa fac asta. Deci, l-am inlocuit cu Nokia 5110 Controller PCD8544 si a mers perfect. Litera 'A' de pe tastatura nu functioneaza si nu am idee de ce. Insa, ceea ce mi-am propus a functionat. Jucatorul se deplaseaza cu usurinta pe ecran. Inainte de a incepe joaca, utilizatorul isi introduce datele sale. Totul merge bine.

Concluzii

Mi-a parut interesant sa fac acest proiect si sa invat lucruri utile si noi. Din pacate, nu am avut timpul necesar pentru a face un proiect mai complex, dar ma multumesc cu ceea ce mi-a iesit. Jocul e functional si oricine se poate juca :).

Download

Jurnal

22 aprilie 2018 – Descrierea generala a proiectului;

22 aprilie 2018 – Schema bloc;

6 mai 2018 – Schema electrica;

22 mai 2018 – Update schema electrica;

22 mai 2018 – Bibliografie/Resurse;

22 mai 2018 – Actualizare informatii generale;

23 mai 2018 – Incarcare imagini;

24 mai 2018 – Incarcare arhiva finala.

Bibliografie/Resurse

Bibliografie

  1. M-am inspirat putin din LabyrintBall

Resurse Software

  1. Pentru MPU6050 Accelerometru
  2. Nokia 5110: nokia5110.zip
  3. Comunicarea I2C: i2chw.zip

Resurse Hardware

  1. Datasheet Accelerometru: datasheet_mpu-6050.pdf
  • Documentația în format PDF
pm/prj2018/cbirsan/93078.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