Andrei GLIGA - Joc Spanzuratoarea

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Acest proiect este implementarea clasicului joc de spanzuratoarea(Hangman). Afisarea se face cu ajutorul unui LCD 16×2 si introducerea literelor cu ajutorul unei tastaturi asemanatoare celei unui telefon.

Descriere generală

La pornire jucatorul va fi pus sa aleaga una din categoriile de joc:

  • seriale
  • filme
  • muzica
  • it

El va naviga intre categorii cu tastele 2 si 8, iar inceperea jocului se va face cu 5.

Pe ecran vor fi afisate mai multe simboluri *, fiecare simbol semnificand o litera pe care jucatorul trebuie sa o ghiceasca. Jucatorul introduce de la tastatura litera. Daca litera se gaseste in cuvant simbolurile * de pe pozitiile corespunzatoare literei vor fi inlocuite cu litera, altfel jucatorului i se va scadea o viata (vietile sunt marcate cu I pe prima linie a ecranului). Jucatorul va incepe cu 5 vieti.

Selectarea unei litere se face prin apasarea de mai multe ori a unei taste, asemanator unui telefon.

Schema bloc:

Hardware Design

Componente:

  • LCD 16×2
  • tastatura universala cu 12 butoane

Diagrama tastatura:

Schema:

Software Design

  • avr-gcc
  • Proteus

Dezvoltarea aplicatiei am pornito de la Laboratorul 1, laborator din care am folosit API-ul de LCD.

In keyboard.c am creat API-ul pentru tastatura, astfel

  • getkey() va verifica ce tasta este apasata si va returna numarul ei.
  • get_letter(int key, int count) va returna litera stabilita pe baza tastei numerice si a numarului de apasari pe aceasta.

In fisierul game.c sunt 2 functii:

  • main_menu() este functia de meniu, cea care va fi rulata la pornirea programului. In cadrul meniului jucatorul va putea alege unul din cele 4 moduri de joc: filme, seriale tv, it sau muzica. Schimbarea modului se face cu tastele 2 si 8, iar pornirea jocului cu tasta 5.
  • play_game() va stabili random ce cuvant sa aleaga din cele disponibile pentru categorie. La inceput se vor afisa 5 elemente |, acestea fiind numarul de vieti ale jucatorului si in locul literelor cuvantului simbolul *, urmand ca atunci cand jucatorul ghiceste o litera, simbolul aferent acesteia sa fie inlocuit.

In caz de esec sau castigare a jocului, dupa 2 secunde programul se va intoarce la meniul de alegere al modului.

Costuri

Nume componenta De unde a fost cumparata componenta Cost per bucata Numar bucati Cost total Observatii
LCD 16×2 tme.eu 22 RON 1 22 RON -
tastatura universala cu 12 butoane tme.eu 13 RON 1 13 RON -
Total 35 RON

Concluzii

Din pacate LCD-ul nu afiseaza decat pe jumatate.

Download

Arhiva ce contine codul si schema: gliga_andrei_332ca.zip

Bibliografie/Resurse

pm/prj2013/sstegaru/23.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