WordDice

Introducere

Descriere

“WordDice” este un joc electronic de cuvinte bazat pe cuburi luminoase care afișează litere, similar jocului “Boggle Flash” . Jucătorii amestecă cele cinci cuburi pentru a crea diferite combinații de cuvinte și apoi trebuie să găsească cât mai multe cuvinte reale în timp limitat. Cuburile se sincronizează între ele și afișează cuvintele găsite de jucători. Scopul jocului este de a acumula cât mai multe puncte prin identificarea cuvintelor și de a le reține până când timpul se scurge. Acest joc combină distracția cu dezvoltarea vocabularului și gândirea rapidă.

Scop

Scopul jocului este de a oferi o experiență de divertisment interactivă și educațională pentru jucători. Aceștia trebuie să găsească cuvinte cât mai rapid, ceea ce le poate îmbunătăți vocabularul și abilitățile de gândire rapidă. De asemenea, jocul poate promova un spirit competitiv sănătos și poate fi o modalitate distractivă de a petrece timpul în familie sau cu prietenii.

Idee

Ideea de la care am pornit este recrearea jocului „Boggle Flash”. Acum cativa ani am gasit intr-un second hand acel joc care mi s-a parut interesant. M-a intrigat simplitatea jocului, ideea de a forma cuvinte rapid din amestecarea de litere, dar cel mai mult sincronizarea dintre piese.

Utilitate

Pentru alții, jocul poate oferi o modalitate distractivă și educațională de a-și dezvolta abilitățile lingvistice și de gândire logică. Pentru copii, poate fi un instrument excelent de învățare a limbii, iar pentru adulți, poate reprezenta o provocare interesantă pentru menținerea minții active.

Pentru mine, dezvoltarea acestui proiect este o oportunitate de a dezvolta un joc, de a modela 3D si de a aplica cunostintele de programare si design.

Descriere generală

Fiecare modul (cub) este compus din un esp32, 2 transmitatoare infrarosu, 2 receptoare infrarosu, un breadboard(optional), un suport de baterie (cu baterie) si un display (o matrice de leduri).

Interactiunea dintre module

Modulele interactioneaza prin datele transmise prin modulele infrarosu. Fiecare cub trebuie sa stie mereu in ce loc este astfel:

  • daca nu primeste nimic din partea stanga este pe prima pozitie si isi da indicele 1
  • daca primeste ceva din stanga va fi pe pozitia indicele_primit + 1

Logica jocului (sumar)

  • fiecare cub are cate un dictionar in memorie cu cuvinte ce se pot forma din 3,4 sau 5 litere.
  • la inceputul jocului cubul “master” (adica cel care va porni jocul) va alege random un set de litere si va asigna literele fiecarui cub
  • fiecare cub care nu prineste informatii din dreapta (adica este ultima litera dintr-un cuvant verifica:
    • este format un cuvant din mia mult de 2 litere?
    • daca da, este cuvatul format unul valid?
    • daca da, aduna un punct la scor si fa un gest care arata utilizatorului ca a gasit un cuvant valid.
  • dupa un interval de timp jocul se opreste si se afiseaza scorul total.

Extra

  • la inceput dupa pornirea fiecarui modul se asteapta pana se aseaza 4 sau 5 module unul langa celalalt, apoi apare un meniu interactiv

  • in functie de ce cub incepe jocul (1 2 sau 3) se alege modul de joc (easy, menium, hard) iar cubul care incepe este “masterul”
  • la gasirea unui cuvant corect, va fi fie un semnal sonor fie unul vizual

  • la terminarea timpului va aparea o animatie

  • la final va aparea scorul

Hardware Design

Listă de piese

  • 5 esp32
  • 5 ir receiver
  • 5 ir transmitter
  • 5 matrix display
  • 5 breadboarduri
  • 5 suport baterie

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Github

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

5 mai - crearea paginii + descrierea generala a proiectului

Bibliografie/Resurse

Inspiratie https://www.youtube.com/watch?v=34ebz2wJeqg

Resurse Hardware

Resurse Software

Export to PDF

pm/prj2024/amocanu/diana_iulia.ciocoiu.txt · Last modified: 2024/05/09 12:41 by diana_iulia.ciocoiu
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