Alin-Florin MIHĂILĂ (78732) - Snake
Autorul poate fi contactat la adresa: Login pentru adresa
Introducere
Acest proiect isi propune implementarea unui joc clasic Snake pe un LCD controlat prin butoane.
Scopul proiectului : reprezinta un bun inceput pentru familiarizarea cu lumea embedded.
Ideea de la care am pornit : de cand aveam eu primul meu telefon m-am jucat Snake si reprezinta o motivatie buna pentru a implementa jocul din copilarie.
Utilitate : recreere.
Descriere generală
Specificatii:
Controlul sarpelui se va face cu ajutorul butoanelor.
Prin intermediul meniului se poate selecta nivelul dorit.
Nivelul ales, va schimba viteza sarpelui.
Hardware Design
Lista de piese
Denumire | Număr |
PCB | 1 |
Componente de baza | 1 |
Butoane | 4 |
LCD Nokia 5110 | 1 |
Placa de prototipare | 1 |
Buzzer pasiv | 1 |
Schema electrica
Software Design
Detalii implementare
Miscarea sarpelui - sarpele se tine intr-o matrice de coordonate si se updateaza mereu capul acestuia in directia curenta
Schimbarea directiei - se face cu intreruperi (mai eficient decat bussy waiting)
Nivele - Usor, Mediu si Greu
Coliziunea cu mancarea - se verifica daca coordonata capului coincide cu coordonata mancarii (va lumina backlight-ul si se va genera un sunet prin buzzer)
Coliziunea cu ziduri - se verifica daca coordonata capului se afla pe linia superioara/inferioara, coloana stanga/dreapta
Coliziunea cu obstacolele - se verifica fiecare coordonata a obstacolului cu cea a capului
Finalul jocului - cand se ajunge sa se faca o coliziunea cu zidul/obstacolul se va genera un sunet si jucatorul va alege daca vrea sa reia nivelul sau nu
Rezultate Obţinute
Concluzii
A fost o experienta noua, partea hardware chiar a fost interesanta, partea grea a fost sa lipesc firele pe spate.
Partea software nu a fost foarte grea, doar ca a fost destul de migaloasa, pentru ca am lucrat si la nivel de caracter si la nivel de pixel.
Cu ocazia acestui proiect mi-am mai completat lipsuri de la laborator si pot sa zic ca mi-a deschis orizontul spre lumea embedded.
Download
Jurnal
Placa de baza terminata (5.05)
Cumparare componente specifice proiect (10.05)
Lipire componente pe placa de test (14.05)
Testare componente (butoane, buzzer, display) (15.05)
Implementare soft (19.05)
Bibliografie/Resurse
Documentația în format
PDF