Table of Contents

Neagu Ana Maria Cristina - Snake

Descriere

Realizarea proiectului consta in implementarea jocului clasic Snake pe un LCD grafic.

Jocul va avea mai multe nivele, care sunt trecute daca jucatorul a atins un anumit scor. Un plus fata de varianta clasica a acestui joc ar fi introducerea unui buzzer, care va scoate un sunet de avertizare in cazul trecerii la un nivel urmator sau pierderii jocului.

Schema bloc

Lista de piese

  1. kit-ul de componente de baza
  2. 5 butoane
  3. LCD grafic
  4. buzzer activ
  5. fire mama-mama

Schema electrica

Versiunea initiala:

Versiunea finala:

Software Design

Meniul de start ofera jucatorului posibilitatea de a alege modul de joc dorit, prin apasarea butonului de select. Cele 2 variante de joc sunt:

Functii folosite:

  1. generate_x: generare coordonata x pentru mancare;
  2. generate_y: generare coordonata y pentru mancare;
  3. random_food: generare mancare random;
  4. start_snake: initializeaza sarpele intr-o pozitie initiala si cu directia de start spre stanga, totodata si punctul de mancare undeva random;
  5. move_snake: fiecare bloc al sarpelui va avea acum coordonatele blocului precedent sau, astfel se realizeaza deplasarea sa, iar capul sarpelui este tratat separat;
  6. verify_dir_head_snake: se verifica ce buton a fost apasat pentru schimbarea directiei sarpelui;
  7. lcd_display_food: afiseaza blocul de mancare;
  8. lcd_display_snake: afiseaza sarpele;
  9. lcd_display_border: afiseaza bordura daca este cazul;
  10. main_screen: afiseaza meniul principal de selectie;
  11. select_border_type: se asteapta selectarea unui mod de joc;
  12. end_game: mesaj la sfarsitul jocului si scorul care s-a facut;
  13. test_border: verific intersectia sarpelui cu bordura;
  14. test_bite_himself: verific daca sarpele s-a muscat;
  15. feed_snake: sarpele creste in dimensiune dupa ce a mancat mancare;
  16. test_eat_food: verific daca a ajuns la punctul de mancare;

Rezultate obtinute

open

Bibliografie/Resurse

Arhiva

snake2019_neagucristina336.zip

PDF file

PDF file