This is an old revision of the document!


War Strategy Game

Autor: Marina-Crenguța Simion, grupa 331CA

Introducere

Ce face proiectul?

Proiectul este o versiune interactivă a jocului de cărți „Război”, realizată sub forma unui sistem electronic. Jocul poate fi jucat fie împotriva unui adversar controlat automat, fie împotriva unui al doilea jucător. Interacțiunea se face prin butoane, afișaje și efecte luminoase, astfel încât experiența să fie mai dinamică decât în varianta clasică.

Scop

Scopul proiectului este să transform un joc simplu și cunoscut într-o experiență mai atractivă și mai modernă. Pe lângă regulile de bază ale jocului, sistemul adaugă feedback vizual, posibilitatea de a alege între mai multe moduri de joc și un element de strategie, deoarece jucătorul trebuie să decidă când merită să păstreze o carte și când este mai bine să riște pentru una mai bună.

Idee

Ideea a pornit de la dorința de a realiza un proiect ușor de înțeles pentru oricine, dar care să nu fie doar o simplă simulare software. Am vrut ca utilizatorul să interacționeze fizic cu jocul, iar fiecare rundă să includă un mic factor de risc și anticipare, asemănător jocurilor de noroc, dar într-un context simplu și controlat.

Utilitate

Consider că proiectul este util deoarece oferă o variantă modernă și interactivă a unui joc clasic, ușor de folosit și de înțeles. În plus, poate fi jucat atât singur, împotriva unui adversar automat, cât și în doi jucători. Pentru mine, proiectul este o ocazie de a duce o idee simplă până la un produs funcțional, cu reguli clare, interacțiune fizică și feedback vizual.

Descriere generală

Arhitectura proiectului este construită în jurul microcontrollerului ATmega2560, care coordonează logica jocului, interacțiunea cu utilizatorul și feedback-ul vizual. Sistemul este împărțit în mai multe module: input de la jucători, afișare pe display-uri, control al LED-urilor și transmitere de informații pentru debugging.

Microcontrollerul ATmega2560: Este componenta centrală a sistemului. Acesta gestionează logica jocului de tip „Război”, generarea pseudo-aleatoare a cărților, schimbarea rundelor, verificarea câștigătorului și comportamentul adversarului automat. Tot el primește comenzile de la butoane, citește valoarea potențiometrului și controlează afișajele și LED-urile.

Display-urile OLED I2C: Sistemul folosește cinci display-uri OLED pentru afișarea informațiilor din joc. Fiecare jucător are câte două display-uri: unul pentru cartea extrasă și unul pentru scorul curent. Al cincilea display este folosit pentru starea generală a jocului, afișând mesaje precum începutul rundei, rândul jucătorului, rezultatul rundei sau finalul jocului.

Multiplexorul I2C: Deoarece display-urile OLED folosesc aceeași adresă I2C, acestea sunt conectate printr-un multiplexor I2C. Microcontrollerul selectează pe rând canalul dorit, astfel încât poate comunica separat cu fiecare display.

Butoanele fizice: Butoanele sunt folosite atât pentru configurarea inițială a jocului, cât și pentru acțiunile din timpul rundelor. La început, acestea permit confirmarea alegerilor făcute, precum modul de joc sau setările inițiale, și pornirea efectivă a jocului. În timpul jocului, butoanele sunt folosite pentru acțiuni precum extragerea unei cărți sau oprirea la cartea curentă.

Switch-ul pentru modul de joc: Switch-ul permite alegerea modului de joc: Player vs AI sau Player vs Player. În funcție de poziția acestuia, microcontrollerul schimbă modul în care este controlat adversarul.

Potențiometrul: Potențiometrul este folosit în modul Player vs AI pentru reglarea agresivității adversarului automat: ușor, mediu sau dificil. În funcție de valoarea citită, AI-ul poate lua decizii mai prudente sau mai riscante, de exemplu dacă păstrează o carte sau încearcă să obțină una mai bună.

Banda LED RGB: LED-urile oferă feedback vizual pentru starea jocului. Acestea pot indica câștigarea sau pierderea unei runde și pot crea animații simple pentru a face jocul mai atractiv.

Hardware Design

Aici puneţi tot ce ţine de hardware design: – DDL 11 MAI

Componentă Cantitate
Placă ATmega2560 1
Display OLED I2C 0.96” 5
Multiplexor I2C TCA9548A 1
Bandă LED RGB WS2812B 2
Potențiometru 10kΩ 1
Switch ON-ON 1
Buton 5
Condensator 100 uF 2
Placă de prototipare 4×6 2

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:prj2009:cc: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.

Export to PDF

pm/prj2026/bianca.popa1106/marina.simion05.1778510068.txt.gz · Last modified: 2026/05/11 17:34 by marina.simion05
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