Jucatorul are pe ecran un teren de tip grid ce contine obstacole si un pion plasat in interior. El va trebui, cu ajutorul butoanelor de directie, sa parcurga fiecare celula a gridului, putandu-se deplasa numai dupa urmatorul algoritm: la fiecare deplasare intr-o directie, pionul se va misca automat in acea directie pana la intalnirea unui perete delimitator, obstacol sau propria urma. La parcurgerea intregului grid, se trece la nivelul urmator, cu o noua dispunere a terenului.
Placuta de extensie
Conexiunea cu placuta initiala
LCD Nokia 3310
Pentru conectarea placutei de baza cu LCD-ul Nokia 3310 s-au folosit:
LCD-ul Nokia 3310 functioneaza la o tensiune de 2.7 - 3.3V; de aceea am utilizat divizoare de tensiune pentru pinii SCK (clock), SDIN (data), D/C (data/cmd), SCE (enable), RES (reset). Pinul GND se conecteaza la GND de pe placuta, iar pinul VOUT se conecteaza la condensatorul de 10uF (conectat la masa). S-a protejat ecranul printr-o dioda Zener de 3V3.
Ecranul conectat cu atmega16:
Butoanele conectate cu atmega16:
Schema:
Implementat in C.
Mediul de dezvoltare utilizat: Notepad++.
Gridul de joc contine 25 de celule avand 3 stari: goala, marcata (perete sau propria urma) si activa (celula jucatorului). Pentru memorarea lor se foloseste o matrice de 5×5. De fiecare data cand se deseneaza o celula, se consulta starea pentru a completa o matrice-bloc de 8×8 pixeli cu patternul corespunzator acesteia.
Cu ajutorul butoanelor, jucatorul se poate deplasa in interiorul gridului in aceeasi directie pana la intalnirea unui obstacol. In urma lui, celulele vor fi marcate si vor deveni obstacole. Pentru aceasta, la fiecare apasare de buton se calculeaza si valideaza pozitia in grid la care se va face mutarea, actualizand starile pentru celula veche si cea noua. Daca nu mai are mutari posibile, jucatorul poate apasa pe butonul de reset si va putea relua nivelul.
Cand se constata marcarea tuturor celulelor se afiseaza mesajul “Nice!” si se incarca nivelul urmator. Sunt 6 niveluri implementate. Programul se poate scala la orice numar de niveluri si cu oricate celule de grid.
Am folosit interfata pcd8544.h de lucru cu ecranul Nokia cu implementarea pcd8544.c (Tony Myatt - 2007).
Programul este functional.
Am intampinat multe dificultati in testare pe ecran Nokia. Nu am gasit ecran in timp util si am dezvoltat softul folosind ecranul unei alt proiect. Dar rezultatul final este satisfacator avand in vedere conditiile.