Table of Contents

Ştefania CRISTEA (25161) - Memory Game

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Scopul proiectului este implementarea unui joc de memorie pe LCD.
Jocul consta in cautarea perechilor de semne identice pana cand nu mai exista nici un semn neintors. Vor exista 6 perechi diferite de semne, iar jocul se va putea juca in doua moduri: memory(intregul board va fi afisat la inceputul jocului pentru cateva secunde), normal(se vor intoarce pe rand toate cartile pentru a descoperi fiecare semn unde este). Pentru fiecare pereche selectata corect, la scor se vor aduna 15 puncte, iar pentru fiecare pereche incorecta, se vor scadea 5 puncte.
Un exemplu de joc se poate gasi aici.

Descriere generală

SCHEMA BLOC:

Sunt puse la dispozitia jucatorului 14 butoane:

Hardware Design

LISTA DE PIESE:

Index Descriere Cantitate Cod Schema
1 Microcontroller 1 IC2
2 Mufa USB B 1 J2
3 Cristal 16MHz 1 Q1
4 Dioda Zener 2 D1, D2
5 LED 2 LED1,LED2
6 Header 1×3 1 JP3
7 Header 1×10 4 PORTA, PORTB, PORTC, PORTD
8 Header 2×3 1 JP1
9 Header 2×5 1 SV1
10 Pushbotton Switch 2 S1, S2
11 Rezistenta 100 2 R5, R6
12 Rezistenta 470 3 R9, R12, R13
13 Rezistenta 1K5 1 R8
14 Rezistenta 10K 1 R15
15 Condensator Ceramic 100nF 3 C6, C7, C8
16 Condensator Ceramic 15pF 2 C13, C1
17 Soclu Controller 1
18 Jumper 1
19 Regulator Tensiune 5V-3.3V 1 IC1
20 Condensator Polarizat 1 C5
21 Rezistenta 1K 1 R1
22 Placuta Test 1
23 LCD Nokia 5110 1
24 Cablu USB-A - USB-B 1
25 Fire Mama-Mama 34
26 Pushbotton Switch 14
27 Rezistenta 14

SCHEMA ELECTRICA:
Nu merg toate porturile placutei, motiv pentru care porturile de pe schema s-ar putea sa nu coincida cu cele conectate in realitate.
Pentru butoanele de selectie a modului de joc am folosit porturile: PD0 si PD1.
Pentru butoanele de selectie a cartilor: PA5, PA6, PD4, PD5, PD6, PA7, PC6, PC5, PC4, PC3, PC2 si PC1.

Software Design

MEDIU DE DEZVOLTARE: WinAVR
DETALII: din cauza unor probleme cu butoanele, nu am reusit sa realizez implementarea software a jocului inca.
TIPURI DE DATE:

typedef struct {
    int x, y, face; //face este 0 daca semnu este ?, 1 daca este intors, fiind vizibila litera
    char sign;
} card;

ALGORITM:
La inceperea jocului se afiseaza un meniu cu doua optiuni: Memory si Simplu. Ambele tipuri de joc au in spate acelasi algoritm. Se genereaza cartile cu litere, dupa care se asteapta apasarea butoanelor. Dupa fiecare doua apasari de butoane, se verifica daca cele doua carti selectate sunt pereche, si daca da, se adauga 15 puncte la scor si cartile raman pe fata, daca nu, se scad 5 puncte din scor si cartile se intorc. O carte intoarsa nu mai poate fi selectata din nou. De asemenea, in timpul jocului nu se pot apasa cele doua butoane din stanga. La final, se poate alege optiunea de a juca din nou sau de a iesi din joc.

Rezultate Obţinute


OBSERVATII:
-in prima faza am intampinat greutati din cauza unor pini care se comportau aleator

Download

cristeastefania_334cb_memgame.zip

Bibliografie/Resurse

RESURSE HARDWARE:
Datasheet LCD Nokia 5110

RESURSE SOFTWARE:
Quantum Torque Nokia 3310 LCD Driver
LCD