Proiectul consta in implementarea unei variante a jocului Minesweeper ceva mai complexa decat jocul obisnuit. Regulile si logica jocului sunt aceleasi, difera modul de interactiune cu utilizatorul.
Proiectul are ca scop aplicarea celor invatate la laboratoarele de PM pentru pentru a obtine un joc relaxant si placut.
Recent am invatat sa joc acest joc, care pentru mine la prima vedere era dificil. Totusi, invatand logica lui si fiind atenta la ce se intampla, am realizat ca este un joc placut care te face sa te concentrezi intru-totul la el si iti testeaza si memoria.
Jocul este cu adevarat folositor atunci cand dorim sa ne detasam pentru o perioada de stresul facultatii si sa ne concentram mintea pe altceva. Acest lucru este cu adevarat folositor, mai ales ca atunci cand revenim la temele noastre, vom vedea totul cu alta perspectiva si ne vom concentra mai bine.
Tot jocul se va desfasura pe o matrice de leduri in care initial sunt toate ledurile stinse. Conform jocului, se poate alege orice led care sa fie aprins, astfel printre ele miscarea se va face cu un joystick pana cand ajungem la ledul care se va dori aprins. Totusi nu toate ledurile sunt leduri “bune”, unele pot ascunde bombe, iar aceasta vor fi marcate ca si un led de culoare rosie. Ledurile “bune” nu ascund bombe, deci ele vor fi leduri verzi. In joc, de obicei, trebuie sa apasam pe o casuta ca sa vedem daca ledul e bun sau nu. In jocul creat de mine, apasarea pe o “casuta” se va face cu ajutorul unui ultrasonic peste care vom trece cu mana. La finalul jocului, in functie de rezultatul jocului, daca castigam, adica daca nu nimerim niciun led rosu, sau daca pierdem, adica aprindem un led rosu, se va auzi o melodie diferita.
Algoritmul ar trebui sa mapeze toata matricea si fiecare led va fi setat ca fiind ori rosu ori verde. Celula va avea 2 stari: inchisa sau deschisa, adica ledul care reprezinta o celula va avea 2 stari, stins sau aprins. Cu ajutorul joystick-ului ne vom deplasa prin matricea de leduri si in momentul in care vom alege celula pe care vrem sa o aprindem, atunci vom trece mana pe deasupra ultrasonicului si ledul respectiv se va aprinde. De aici pornesc doua scenarii:
Pentru a castiga jocul, trebuie ca toate ledurile verzi sa fie aprinse si la final se va auzi o alta nota prin buzzer. Proiectul este o varianta a jocului Minesweeper propusa de mine.
Initial, totul era functional si matricea se aprindea, am testat-o si in alte moduri dupa cum se vede si in clipul atasat. https://drive.google.com/file/d/13KMrYSONsr68mAoAs_juhofAjjK4yFTx/view?usp=sharing
Codul de pana in prezent este scris astfel incat sa putem sa initializam tabla, sa plasam bombele si sa ne miscam printre leduri. Bombele sunt marcate ca fiind leduri rosii si atunci cand se aprindea un led rosu jocul se pierdea. Initial am gandit jocul ca atunci cand toate ledurile verzi sunt aprinse, jocul sa se termine si sa fie castigat, pe parcurs urma a fi ajustat si sa ajunga la o forma finala mai draguta si probabil mai usor de jucat. Rezultatele obtinute din pacate nu au fost cele dorite, din cauza unui accident (am dat peste un pahar cu apa care a cazut pe placa si cand am vrut sa il ridic, am lovit din greseala placa si a cazut si rezultatele se vad in poza) in urma caruia a fost distrusa placa Arduino si a fost prea tarziu sa procur una noua.
Specific ca nu este inca testat pentru ca nu am avut pe ce sa il testez https://drive.google.com/file/d/10JRL3Wq7uZrXtJnvncsL-fS06Nbo33dW/view?usp=sharing
https://ocw.cs.pub.ro/courses/pm/prj2021/dbrigalda/minesweeper