Autorul poate fi contactat la adresa: Login pentru adresa
Doresc implementarea unui joc Snake pe o matrice de 64 de LED-uri (8 x 8). Jucătorul va interacționa cu sistemul folosind 4 butoane, prin intermediul cărora va decide direcția șarpelui.
Scopul proiectului este de a realiza un joc drag din copilărie și de a pune în aplicare cunoștințele învățate la laborator.
Ideea de la care am pornit a fost să fac un joc interactiv, de aceea îmi propun să adaug funcționalități în plus folosind un buzzer, 2 butoane și un LED.
Consider că acest joc este util pentru mine pentru că mă ajută să aprofundez cunoștințele de la laborator și va fi apreciat de colegii mei pentru că reprezintă o modalitate bună de relaxare și distracție.
Lista de componente necesare:
Pentru realizarea jocului am folosit 4 butoane de direcție cu care manevrăm mișcarea șarpelui, iar controlul asupra matricei este făcut prin crearea unui vector bidimensional în care memorez care leduri sunt aprinse, astfel:
Memorând direcția spre cap pentru fiecare led care formează șarpele, la fiecare mișcare putem determina ușor unde este amplasată coada șarpelui. La colectarea unui candy, acela devine capul șarpelui.
Pentru a fi mai interactiv cu utilizatorul, am pus un buton de start/stop și un buzzer care sună atunci când este colectată o bomboană. Am adăugat și funcționalitatea de a nu putea trece prin pereții matricei, apăsând un buton special. Când ne aflăm în modul blockingWalls se aprinde ledul verde de pe placă.
Funcțiile implementate:
Proiectul a rezultat prin efectuarea cu succes a unui joc Snake colorat (matrice cu led-uri roșii), care funcționează ca un joc standard de Snake, însă cu câteva funcționalități în plus, care ajută la interacțiunea cu utilizatorul, după cum se poate vedea:
Jocul inițial:
În timpul jocului:
Jocul câștigat:
Jocul pierdut prin lovire de margini (se observă ledul verde aprins):
Jocul pierdut prin autolovire:
Demo video: demo.zip
Realizarea acestui proiect a fost o adevarată provocare, deoarece înainte nu știam să lipesc și să dezlipesc elemente pe o placută, iar acum am avut de făcut zeci de lipituri și m-am obișnuit. Proiectul mi-a adus o satisfacție foarte mare în momentul în care am reușit să îl fac perfect funcțional și mă bucur de el și în timpul liber, împreună cu colegii. Per total, mi-a plăcut mai mult partea de programare software decât cea hardware:)