Constantin-Adrian GHIMIȘ (66878) - Tetris pe LCD

Autorul poate fi contactat la adresa: adrianghimis@yahoo.com (pref); Login pentru adresa

Introducere

Am ales sa implementez clasicul joc Tetris (pe LCD), in care se vor obtine puncte de fiecare data cand se va umple o linie si jocul este pierdut cand nu va mai exista spatiu. Am ales sa folosesc, in principiu, 5 butoane ca input, microcontroller-ul si modulul LCD ca output.

Descriere generală

Schema bloc a proiectului:

Jucatorul foloseste cele 4 butoane ca pentru a controla miscarea stanga/dreapta a noi piese (2), pentru rotire catre dreapta (1) si pentru selectare (1), iar output-ul se va afla pe LCD. Jucatorul trebuie sa potriveasca piesele pentru a putea forma linii complete de puncte si in cazul in care o linie devine completa, aceasta este eliminata, dandu-i jucatorului un punctaj. Jocul se termina cand noile piese nu mai au loc pe ecran.

Hardware Design

Lista de componente:

- Toate componentele de baza sugerate

- Modul LCD de 1.44'' (128×128 px)

- Butoane

- Cablaj de test

Schema electrica:

Software Design

Mecanismul jocului

La pornirea programului se afiseaza un mesaj cu textul “Welcome!”, dupa care este afisat meniul utilizatorului, care contine optiunile de Play si Exit. In momentul apasarii unuia dintre butoanele sus sau jos este incadrata optiunea corespunzatoare. La selectarea Exit se dorea sa se afiseze mesajul “Goodbye!”, dupa care display-ul sa se stinga. La selectarea Play, se dorea inceperea jocului.

Desfasurarea jocului ar fi trebuit sa fie astfel: se alege o forma random din array si se deseneaza, la fiecare pas din ce in ce mai jos, pana detecteaza coliziune cu marginea de jos a display-ului sau cu alte piese; se aplica modificarile corespunzatoare in cazul apasarii butoanelor pentru deplasare sau pentru rotatii; in momentul in care nu mai are loc nicio piesa pe ecran, se afiseaza “Game over!”, dupa care se revine la meniul utilizatorului.

Librarii

Pentru LCD am folosit o librarie a unei studente care a folosit acelasi driver la un proiect anterior.

Mediul de dezvoltare

Am folosit Notepad++ pentru scrierea codului.

Rezultate Obţinute

Nu am obtinut, din pacate, un proiect functional.

Download

Bibliografie/Resurse

  • Documentația în format PDF
pm/prj2017/avoinescu/996.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0