Skip to content

oanav21/Robotica

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Tema Matrice

Snake Game

Youtube: https://youtu.be/K0zparGiEfQ

Componente: 

- Arduino Mega2560 
- Cablu serial 
- Fire de conexiune mama-tata/ tata-tata 
- Breadboard x2 
- Mini Breadboard 
- Matrice de Led-uri 8x8 - 1088AS 
- Driver MAX7219 
- Joystick 
- Capacitor ceramic 104
- Capacitor Electrolytic 10uF 
- Rezistenta 220 ohm/ 100k 
- Button 
- Display LCD 16x2


Reguli Joc: 

Pentru a incepe jocul, se va apasa butonul de "Start".
Pentru a putea fi miscat sarpele se va utiliza Joystick-ul in felul urmator:
sus-jos va reprezenta dreapta-stanga pe matrice, iar stanga-drepta va fi jos-sus. 
Scopul jocului este de a obtine cat mai multe puncte, mai precis de a creste lungimea 
sarpelui cat mai mult cu putinta. De-a lungul acestui joc va exista hrana, sub forma 
unui led intermitent, care va determina  dezvoltarea imediata a sarpelui, dar si marirea
vitezei cu care acesta se deplaseaza. La fiecare hrana mancata, jucatorul va castiga 10p 
in plus la scor. Jocul se incheie in momentul in care sarpele se va atinge pe sine. 
Insa, fiecare persoana care va juca, are dreptul la 3 runde (vieti), care se vor restarta automat.
La finalul lor, pentru a incepe o noua repriza, cel care se va juca va fi nevoit 
sa apese din nou pe butonul de "Start".


Program - arduino: 

Sarpele il vom vedea ca 2 vectori: unul reprezinta linia, iar celalalt coloana pe care se 
afla componenta lui respectiva. Am utilizat o variabila "life" cu scopul de a putea determina
la al catelea joc se afla jucatorul, in functie de asta stiind daca se va restarta singur sau 
se va opri. In functie de valoarea citita pentru axele Ox, Oy, determinam directia in care merge,
pe care o vom retine intr-un string "direction". Variabila "inGame" ne va spune daca jocul a inceput. 
La Start, sarpele va merge in sus, iar mancarea va fi generata aleator. 
Pentru a facilita intelegerea codului am creat mai multe functii cu roluri diverse:

a) newGame: va initializa varabilele necesare pentru ca jocul sa o ia de la capat 
b) checkIfHitSelf: va verifica daca am intrat in cazul in care sarpele ajunge sa isi manance coada 
c) checkIfHitFood: va verifica daca a atins hrana 
d) drawSnake: va construi sarpele in momentele in care se modifica 
e) newFood: va genera pozitia hranei aleator 
f) isSnake: va determina daca locul unde s-a generat mancarea este cumva parte a sarpelui, 
caz in care o vom schimba 
g) move: va deplasa sarpele 
h) drawFood: deseneaza hrana 
i) gameOver: cazul in care se mananca pe sine si unde verificam cate vieti i-au mai ramas

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages