Multiplayer Battleships Player1 - Manea Tudor-Ștefan

Introducere:

Pentru acest proiect, voi implementa împreună cu colegul meu, Medar Andrei, un joc de Battleships pe LCD, în 2. Fiecare dintre noi ne vom configura plăcuța urmând apoi să le legam pentru a juca jocul în 2.

Cum decurge jocul:

  • Jocul constă într-o hartă, sub forma unei matrice pătratice. Elementele acestei matrice vor fi reprezentate de pătrățele.
  • La începutul jocului fiecare jucător își alege unde va pune nava pe hartă.
  • Pe parcursul jocului, jucătorii aleg pe rând un pătrat, unde cred că nava inamicului se află. Odată ales pătratul, pe acesta nu se afla nava/vreo navă , acesta va fi marcat de un “X”. În cazul în care cineva nimerește o un pătrat pe care se afla o nava, acesta se va colora cu negru.
  • Navele pot avea dimensiune de 1,2 sau 3 pătrățele.
  • Câștigă jucătorul care distruge nava/toate navele inamicului.

Descriere Generală:

Hardware Design:

  • Butoane;
  • LCD;
  • Micro USB;
  • Rezistențe;
  • Jumpere (fire);

|

tudor_manea_placa1.jpg tudor_manea_placa2.jpg

Software Design:

Modalitatea de funcționare

Pentru implementare, plăcuțele sunt setate, una ca fiind master, iar cealaltă slave.
Ele comunică prin USART, pe pini RX, TX.

Modul în care se desfășoară jocul este următorul: *fiecare ține 2 matrice în care va ține detaliile despre harta sa și cea a inamicului. *după ce fiecare își plasează nava, ambi trimit unul celuilalt coordonatele centrului navei lor,
urmând fiecare să își noteze în matricea inamicilor detaliile primite. *pe rând, fiecare încearcă să nimerească folosindu-se de butoane și LCD *câștigă cel care distruge toată nava inamucului

battleships_video.zip

Rezultate Obţinute:

Concluzii:

În concluzie, partea cea mai grea a fost să reușim să facem plăcuțele să comunice între ele corect. La început ele trimiteau lucruri gresite/primeau date eronate, însă am reușit să sicronizăm transmiterea de date și a funcționat.

Cod Sursa

Bibliografie/Resurse:

pm/prj2019/amocanu/multiplayer-battleships.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