Table of Contents

Candy Crush

Autor

Pătru Diana-Georgiana

Introducere

Despre proiect

Proiectul ales de mine urmărește o implementare minimală a celebrului joc Candy Crush. Jucătorul va avea de aliniat pe linie sau coloană o serie de bomboane de același tip pentru a le putea distruge primind puncte. Jocul se resetează într-un minut, astfel că challenge-ul îl reprezintă obținerea unui scor cât mai bun.

Scopul proiectului

Scopul proiectului este de familiarizare cu Arduino și perifericele necesare pentru implementarea jocului dar scrierea unui cod ce controlează direct componente hardware. Consider că reprezintă o metodă bună de a pune în aplicare toate noțiunile dobândite, atât software cât și hardware, pentru a realiza un joc de la 0.

Descriere generală

Schema bloc:




Funcționalitate

Jocul presupune interacțiunea cu utilizatorul printr-un joystick prin care se pot alege linia și coloana dorită și va putea alege 2 căsuțe pe care să le interschimbe. Imaginea jocului se va afișa pe LCD, cu forme specifice pentru fiecare “tip de bomboană” și se va menține un scor. De asemenea, se va emite un sunet prin intermediul buzzer-ului ori de câte ori jucătorul reușește să distrugă minim 3 elemente de același tip pe linie sau coloană sau jocul se termină (același lucru se întamplă și la apăsarea butonului de reset).

Hardware Design

Listă de piese

  1. Ordered List ItemArduino Uno
  2. LCD
  3. Modul joystick
  4. Buton
  5. Buzzer
  6. Fire
  7. Breadboard

Schema electrică


Software Design

Mediul de dezvoltare pe care l-am folosit:

Biblioteci folosite:

Funcții folosite:

Alte observații:

  1. Melodia redată la expirarea timpului alocat sau la apăsarea butonului de reset este apelată cu funcția play_melody() din buzzer.h
  2. Timer-ul este setat să aloce un minut pentru fiecare încercare a jucătorului.
  3. Alegerea căsuței pentru intershimbarea ei, se realizează cu ajutorul celor 2 valori analogice ale joystick-ului iar selectarea acesteia se obține prin output-ul digital încorporat în joystick
  4. Inițializarea ecranului cu formele de bomboane este random, astfel că după orice schimbare, se verifică dacă s-a format o nouă succesiune de bomboane

Rezultate Obţinute

Demo: https://www.youtube.com/watch?v=tq6qaPf6Mag

Concluzii

Pot spune că a fost un proiect interesant și mă bucur că am reușit să îl implementez până la final ^_^. A fost o experiență nouă în cadrul căreia am reușit să iau puțin contact cu programarea embedded și să realizez un joc funcțional pornind doar de la câteva componente hardware.

Download

Pdf pagina ocw: PDF
Arhiva cod: candy-crush.zip

Jurnal

Bibliografie/Resurse