Autorul poate fi contactat la adresa: Login pentru adresa
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.
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
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.
Rezultatul este un joc de minesweeper perfect functional care implementeaza toate functionalitatile jocului original.
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.
- 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.
Link-ul catre LCD-ul de la Sparkfun unde pot fi gasite biblioteci de functii si datasheet pentru el.