Autorul poate fi contactat la adresa: Login pentru adresa
Proiectul consta in implemenatrea jocului “Ultimate Tic-Tac-Toe”. Am ales aceasta aplicatie in scop interactiv, si am plecat de la ideea oferita de ultimul laborator, in care a trebuit sa realizam jocul cu bila. Proiectul este util, datorita faptului ca ofera posibilitatea de dezvoltare a “skill-urilor” in jocurile de acest gen.
Modul de functionare al proiectului este unul foarte simplu. Jucatorul va avea la dispozitie 5 butoane(UP, DOWN, LEFT, RIGHT, ENTER) prin care va muta cursorul in ce casuta doreste sa insereze X sau 0. Aceste valori sunt transmise microcontroller-ului, care le va afisa pe LCD. Procesul se reia in functie de regulile speciale ale “Ultimate Tic-Tac-Toe”, iar al doilea jucator va insera urmatorul simbol. Procesul continua pana cand in matricea mare, formata din 9 matrici 3×3, se vor completa 3 matrici ca fiind castigatoare cu acelasi simbol (fie cu X, fie cu 0), iar aceste matrici sa fie in linie, sau pe diagonala.
Pentru acest proiect, voi folosi ca si piese componente placuta + piesele de baza pe care le-am lipit pe ea la laborator. In principiu, voi utiliza un LCD Nokia 3310 sau 5110 pe care il voi achizitiona de pe OLX impreuna cu o rezistenta de 0.25W. Pentru a folosi un astfel de LCD, va fi nevoie de alimentare la 3.3V a placutei. Pentru acestea voi avea nevoie de un regulator de tensiune si un condensator electrolitic. Implementarea se va baza pe comanda din 5 butoane.
Componente de baza
Nr Crt | Denumire | Cod |
---|---|---|
1 | ATMEGA324PA-PU | 1715485 |
2 | Conector USB B Cvilu | 2112373 |
3 | Quartz 16MHz | 1611761 |
4 | Dioda Zener | 1700785 |
5 | LED 3mm Rosu | 2112111 |
6 | HN1X40 | 2356175 |
7 | K2X10 | 1022236 |
8 | Tasta TS-06E | 2056808 |
9 | Rezistenta 0,25W | 9339043 |
10 | Rezistenta 0,25W | 9339531 |
11 | Jumper | 1654800 |
12 | Rezistenta 0,25W | 9339183 |
13 | Rezistenta 0,25W | 9339060 |
14 | 100nF Condensator ceramic | 1141777 |
15 | 15pF Condensator ceramic | 1141759 |
16 | Soclu Microcontroller | 4285669 |
Componente optionale
Nr Crt | Denumire | Cantitate | Cod |
---|---|---|---|
1 | LCD Nokia 3310/5110 | 1 | OLX |
2 | Rezistenta 0.25W | 1 | 2329626 |
3 | Regulator de tensiune | 1 | 1703359 |
4 | Condensator electrolitic | 1 | 9451056 |
5 | PUSHBUTTON | 5 | 2056808 |
-am pornit implementarea de la driverul pentru Nokia 3310
-datorita faptului ca ecranul este mult prea mic, am implementat un vector (dimensiune 9) de matrici(dimensiune 3×3) cu valoarea 1 notata in fiecare casuta
-se realizeaza afisarea unei singure matrici, cu coordonatele din matricea mare afisate in colturile de sus ale ecranului
-in momentul in care se insereaza x/0, in functie de pozitia patratelului respectiv, se va afisa o noua matrice corespunzatoare acelui patratel,
restul de valori ramanand salvate
Probleme:
-butoanele sunt mult prea sensibile(nu am reusit sa rezolv) si atunci cand un buton este apasat face un fel de double-click
-la parcurgerea matricei nu sunt probleme, deoarece se pot apasa (stanga-dreapta sau sus-jos simultan), in schimb apare fenomenul de double insert
-nu au fost implementate conditiile de castigare, deoarece se face acest double-insert care da totul peste cap
Observatii:
-nu am folosit foarte multe functii pentru o modularizare mai buna a programului, datorita lipsei de timp fizic
-codul arata cam dezordonat
In cea de-a doua imagine nu se vede nici un cursor, dar initial a fost inserat 0 in coltul dreapta sus al unei matrice, acest lucru ducand la afisarea matricei de pe pozitia (0,2) din matricea mare de 9×9, si datorita double insert-ului se insereaza un nou x, acesta fiind cursorul la momentul actual. Datorita acestei probleme nu am mai incercat sa termin codul, in mare masura datorata si lipsei de timp.
-in primul rand ar fi trebuit sa folosesc un ecran lcd mult mai mare
-proiectul a fost mai usor decat m-am asteptat, si din cauza aceasta imi pare rau ca nu am terminat toata partea de software
-a fost o experienta interesanta
Dragan Dragos-Andrei, 331CB→dragan_dragos.andrei.zip
1. Am realizat placa de baza
2. Am cumparat componentele auxiliare pentru alimentare la 3V3 si LCD-ul Nokia
3. Am lipit componentele pe placa de baza, LCD-ul si 5 butoane lipindu-le pe placa de test
4. Am realizat conexiunile intre butoane,LCD si microcontroller.
5. Am scris o parte din codul pentru joc.
1.Data-sheet → http://pdf1.alldatasheet.com/datasheet-pdf/view/255659/ATMEL/ATMEGA324PA.html
2.LCD Driver Nokia 3310 → http://www.quantumtorque.com/content/view/32/37/