Liviu-Darius MANGEA - Minesweeper

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul consta in realizarea jocului Minesweeper controlat din butoane, cu afisajul pe un ecran LCD.

Am ales acest joc pentru ca prima idee de proiect care mi-a venit in minte a fost sa fac un joc, iar apoi m-am gandit ca Minesweeper ar fi destul de interesant si fun.

Descriere generală

Hardware Design

Am 6 butoane conectate la portul B si un fir pentru masa, iar pentru seriala, doua fire RX, TX conecatate la PD0 si PD1, un fir conectat la Vcc si unul la masa.

Lista piese:

- 6 butoane

- un LCD 128×64

- fire mama-mama

- placa de test

- barete de pini

Software Design

Am folosit biblioteca pentru seriala oferita de producatorul LCD-ului (Sparkfun), in care am modificat functiile astfel incat sa foloseasca USART0_transmit din laborator.

Fisiere sursa:

- usart.h (din laborator)

- usart.c (din laborator)

- serialGLCD.h

- serialGLCD.c

- minesweeper.c

Am facut un minesweeper cu 8×8 patratele. Am tinut in memorie doar o matrice de int 8×8 in care mi-am codificat ce se afla in fiecare patratel(bomba, numar sau nimic) si 2 vectori pentru coordonatele bombelor. Coordonatele bombelor sunt generate random in fiecare joc.

Pornind de la functia togglePixel care iti seteaza un pixel pe 0 sau pe 1 am implementat manual toate functiile de desenare necesare pentru grid, bombe, flag, cifre, precum si functiile care realizeaza modificari pe ecran in timpul jocului.

Rezultate Obţinute

Rezultatul este un joc de minesweeper perfect functional care implementeaza toate functionalitatile jocului original.

Concluzii

A fost un proiect interesant, la care mi-a facut placere sa lucrez. Iti da un sentiment placut sa realizezi ceva facut de mana ta.

Download

Jurnal

- Am realizat placa de baza.

- Am cumaparat LCD si celelalte piese pentru hardware.

- Am realizat conexiunile si lipiturile necesare intre butoane si uC si LCD si uC.

- Am modificat biblioteca pentru seriala pentru a putea afisa ceva pe LCD.

- Am scris codul pentru joc.

Bibliografie/Resurse

Link-ul catre LCD-ul de la Sparkfun unde pot fi gasite biblioteci de functii si datasheet pentru el.

https://www.sparkfun.com/products/9351

http://cs.curs.pub.ro/wiki/pm/_media/doc8272.pdf

pm/prj2015/ddragomir/222.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