Autor: Hoisan Stefan-Alexandru
Grupa: 333CA
O reprezentare a clasicului joc Snake folosind un ecran LCD. In plus fata de varianta standard, aceasta abordare a jocului va avea:
- obstacole
- elemente colectabile cu diferite efecte asupra jucatorului
- diferite tipuri de mancare
- un sistem de vieti pentru jucator
Scopul proiectului este unul pur recreativ, fiind destinat pentru a aduce divertisment in timpul liber.
Jucatorul va controla sarpele prin interactiunea cu 4 butoane pentru schimbarea directiei. Atat sarpele, elementele colectabile, obstacolele, cat si scorul vor fi redate prin ecranul LCD.
1. Lista componentelor:
2. Schema electrica:
Am realizat schema electrica in Fritzing si am incarcat propriul fisier .fzpz (atat schema, cat si fisierul pentru import sunt disponibile in arhiva) pentru importarea LCD-ului. Intrucat LCD-ul functioneaza la o tensiune de 3.3V, am folosit rezistente de 1kOhm pentru legarea la placa Arduino UNO.
#include "SPI.h" #include "Adafruit_GFX.h" #include "Adafruit_ILI9341.h" #include "Arduino_FreeRTOS.h"
Am obtinut o varianta a jocului Snake in care scopul jucatorului este sa stranga cat mai multe puncte in timp ce incearca sa nu atinga peretii tabelei de joc sau obstacolele. Punctele sunt oferite la fiecare actualizare a frame-ului, dar si la colectarea de mancare. Tipurile de mancare sunt urmatoarele: mancarea verde dubleaza viteza de miscare pentru 2 secunde (timp in care si scorul este dublat), mancarea galbena adauga o viata bonus, iar mancarea maro este cea normala.
Personal, tot proiectul in sine a fost o adevarata provocare, partea cea mai grea fiind asamblarea hardware. Am intampinat probleme la legatura dintre LCD si Arduino printr-un translator de nivel logic si am renuntat ulterior la aceasta abordare pentru a folosi rezistentele.
In final, pot spune ca a meritat. Satisfactia completarii proiectului, dar si experienta unica de a lucra cu o placa Arduino mi-au adus un mare plus.