Vlad STOIANA-MOIȘ (66898) - “Ultimate Tic-Tac-Toe”

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul implementeaza un joc de X si 0, folosing leduri bicolore, pe un plan de 9×9. Fiecare jucator are asociat o culoare si trebuie sa castige 3 casute de 3×3 in linie pentru a castiga jocul. Regulile jocului se pot gasi aici: https://en.wikipedia.org/wiki/Ultimate_tic-tac-toe

→ Ce face proiectul?

Proiectul consta in reproducerea jocului de ultimate tic-tac-toe pe o placuta, precum poate fi jucat aici: http://ultimatetictactoe.creativitygames.net/ Jocul va avea doua moduri disponibile care pot fi selectate la inceput: multiplayer in care vor juca doi jucatori, si single player in care un singur jucator va juca impotriva unui bot implementat pe placuta.

(1) Tabla va contine 81 de leduri bicolore(rosu sau verde), aliniate pe o matrice de 9×9 care va fi vizibil impartita in 9 matrici de 3×3.

(2) Jocul va avea 2 protagonisti: Fiecare jucator isi va alege o culoare a led-ului pe care o va folosi.

(3) Led-urile se vor aprinde in functie de fiecare jucator pentru a reflecta starea jocului.

(4) Pentru a muta alternativ pe matricea de led-uri, se vor utiliza 4 butoane de selectie(sus, jos, stanga, dreapta) ce vor simula deplasarea pe linii si pe coloane.

(5) Pentru aprinderea led-ului dorit se va folosi un buton de acceptare a selectiei. Urmand apoi sa fie randul oponentului.

(6) Odata ce a fost pus un X sau un 0 intr-una din casutele de 3×3, celalalt jucator va putea muta doar intr-o casuta de 3×3 reprezentata de locul unde a mutat jucatorul anterior. Exceptie face cazul cand acea casuta a fost deja ocupata, caz in care va putea muta oriunde in matricea mare de 9×9.

(7) Cand o casuta de 3×3 este castigata de unul dintre jucatori, acesta va aprinde toate led-urile corespunzatoare jucatorului care a castigat-o.

(8) Jocul se termina atunci cand unul din jucatori obtine 3 casute de 3×3 pe o linie, coloana sau diagonal. Acest lucru va fi semnalizat de aprinderea tuturor led-urilor de pe matricea 9×9 in culoarea jucatorului castigator.

(9) In caz ca nici unul dintre jucatori nu mai are loc unde sa puna, jocul se va incheia in remiza.

→ Care este scopul proiectului ?

Implementarea unui joc de ultimate tic-tac-toe care sa nu necesite folosirea de hartie si pix, si in care jucatorii sa nu trebuiasca sa tina minte constant ultima mutare a adversarului.

→ De la ce idee am pornit ?

Am pornit de la un proiect pe care l-am avut la Proiectarea Algoritmilor. Plecand initial de la idea unui X si 0 simplu, m-am gandit ca ar fi mult mai palpitant daca as implementa un joc de X si 0 de dimensiune 9×9 care solicita mult mai multa gandire si strategie pentru a putea fii castigat.

→ Ce utilitate are pentru utilizatori, dar pentru mine ?

Pentru mine acest proiect are rolul de a ma familiariza cu dezvoltarea jocurilor pe o placuta. Pentru utilizatori acest proiect are rolul de a se interesa de acesta forma mai avansata a jocului de X si 0, si de a dezbate noi strategii de joc pentru castigarea acestuia.

Descriere generală

→ Schema bloc

Hardware Design

→ Lista piese

NUME COMPONENTA CANTITATE
Led-uri bicolore 81
Butoane 5
Rezistente 18
Placa de baza 1
Placa de test 1
Fir pentru conectarea placilor 1

Schema electrica realizata in Eagle: schema_proiect.sch

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.

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:prj2017:avoinescu:dumitru_alin.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

  • Documentația în format PDF
pm/prj2017/ddragomir/33420.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