Autor: Popa Gloria-Alexandra 336CA
În primul rând, am desenat ecranul de start în care jucătorul este îndemnat să apese pe un buton pentru a începe jocul. În urma acestei acțiuni este redat fundalul și este plasată prima bucată de mâncare pe harta. De asemenea, este afișat șarpele la o poziție prestabilită (acesta începe să se miște într-o direcție determinată de care dintre butoane a fost apăsat).
Jocul se petrece într-un loop infinit, fiind resetat în momentul în care șarpele se lovește fie de un perete, fie de propriul său corp. În acel moment apare ecranul de game over și buzzer-ul scoate un sunet specific.
Logica jocului se bazează în principiu pe implementarea unei liste simplu înlănțuite, în care un nod reprezintă un pătrat care alcătuiește șarpele. La fiecare iterație, stabilesc care este noua poziție a capului în funcție de ce input este primit de la butoane. Practic, este nevoie doar să desenez capul și să șterg coada (ultimul nod din lista), restul șarpelui rămânând în poziția precedentă. Așa se păstrează dimensiunea sa constantă, iar în cazul în care crește punctajul nu se mai șterge ultimul bloc, incrementându-se astfel această dimensiune.
Punctele se acumulează pe măsură ce șarpele colectează mâncarea spawnată aleator pe harta, la o poziție diferită de a sa. Fiecare punct obținut este semnalat de către buzzer printr-un bipăit scurt.
Viteza șarpelui poate fi variată de către player cu ajutorul unui potențiometru, aspect care oferă o dinamică mai bună jocului.
https://ocw.cs.pub.ro/courses/pm/prj2021/apredescu/gesture_controlled_music https://www.youtube.com/watch?v=72SrQuVU3Ww&ab_channel=Mr.maker https://www.arduino.cc/en/Tutorial/BuiltInExamples/Button https://create.arduino.cc/projecthub/SURYATEJA/use-a-buzzer-module-piezo-speaker-using-arduino-uno-89df45 https://www.arduino.cc/en/Reference/TFTLibrary