Alina-Elena NICOLAE (24922) - Hangman

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Prin acest proiect doresc sa implementez jocul Hangman (Spanzuratoarea). Hangman este un joc pe hartie in general jucat in doi, in care unul dintre jucatori se gandeste la un cuvant, iar celalalt incearca sa il ghiceasca sugerand litere. Scopul lui este de a oferi un prilej de relaxare persoanelor care vor totodata sa isi exerseze cunostintele de vocabular (al limbii materne sau al unei limbi straine). Inca din Epoca Victoriana, acest joc a reprezentat un motiv de divertisment pentru oameni de toate varstele si am considerat ca este util si interesant sa il implementez pe placuta, pentru a avea intotdeauna cu cine sa joc Hangman :).

Descriere generală

Schema bloc este reprezentata de 3 module:

  • ATmega 324
  • Tastatura
  • LCD 16×2

Pe LCD vor aparea simboluri ce inlocuiesc literele pe care jucatorul va trebui sa le ghiceasca. Acesta va introduce de la tastatura o litera si daca aceasta este continuta in cuvant va inlocui simbolurile pe LCD in toate locurile in care ar trebui sa apara. Daca nu este continuta in cuvant, numarul de vieti ale jucatorului vor scadea.

Hardware Design

Lista de piese:

  • componente de baza: controller ATmega324, leduri, bareta, rezistoare etc.
  • LCD grafic - 70 lei - o piesa
  • tastatura Arduino 3×4 - 18 lei - o piesa
  • rezistoare 1K, 10K, 2,2K - 0,10 lei/rezistor - 10 piese
  • leduri rosii - 1 leu/led - 3 piese
  • leduri verzi - 0,35 lei/led - 2 piese
  • fire de conexiune mama-mama - 17 lei (grup de 40 de fire) - o piesa
  • bareta - 1,80 lei - o piesa
  • placa de test - 12 lei - o piesa

Schema electrica:

Software Design

Mediul de dezvoltare: WinAvr, Programmer's Notepad.

Jocul este single-player. Jucatorul are la dispozitie o tastatura prin care poate introduce literele considerate ca facand parte din cuvantul ce trebuie ghicit. Initial, cuvantul este afisat sub forma de caractere speciale: * si pe masura ce jucatorul ghiceste litere, simbolurile sunt inlocuite de literele ghicite corect. In momentul in care toate literele au fost ghicite, jocul este castigat. Daca in urma a 6 incercari, jucatorul nu ghiceste cuvantul propus de aplicatie, jocul este pierdut.

Intrucat tastatura este numerica, am conceput preluarea literelor in felul urmator: pentru fiecare tasta avem un sir de caractere corespunzator. De exemplu, pentru tasta 1: “abc”, pentru tasta 2: “def” etc. Pentru a selecta literele din sirul de caractere aferent unei taste trebuie ca dupa apasarea tastei corespunzatoare sirului sa fie apasata:

  • tasta “0” pentru selectarea primului caracter
  • tasta “*” pentru selectarea celui de-al 2-lea caracter
  • tasta ”#” pentru selectarea celui de-al 3-lea caracter.

Pentru a implementa functionalitatea LCD-ului am utilizat biblioteca u8glib. Pentru a implementa functionalitatea tastaturii 4×3 am utilizat tutoriale gasite pe internet.

Rezultate Obţinute

Realizarea unui joc clasic “Spanzuratoarea” in care jucatorul poate ghici in jur de 10 cuvinte.

Concluzii

A fost o experienta antrenanta, intrucat am avut ocazia sa aplic ce am invatat in decursul laboratoarelor, dar si sa invat multe informatii noi legate atat de partea de hardware, cat si de partea de software. Mi-as fi dorit sa am mai mult timp la dispozitie pentru a putea sa implementez mai multe functionalitati pentru acest joc.

Download

Jurnal

25 aprilie: Am achizitionat componentele necesare pentru proiectul ales: tastatura, fire de legatura, placa de test etc.

27 aprilie: Am terminat de lipit componentele de baza pe placuta.

19 mai: Am conectat LCD-ul la placuta.

20 mai: Am achizitionat mai multe fire de legatura si am conectat tastatura la placuta.

25-26 mai: Am implementat functionalitatile jocului Hangman.

Bibliografie/Resurse

pm/prj2016/csoare/hangman.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