Robert-George RADU (66992) - Minesweeper

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Am ales sa implementez ca tema de proiect jocul Minesweeper pe LCD. Scopul jocului este acela de a dezamorsa toate minele de pe board, eliberand astfel restul celulelor. Ideea ce a stat la baza proiectului meu este laboratorul 5, intrucat acesta se baza pe crearea unui joculet pe LCD, lucru destul de distactiv si interesant. Consider ca jocul este util pentru altii in masura in care acestia doresc sa incerce un joc casual si placut intr-o scurta fereastra de timp, iar pentru mine reprezinta o experienta cu totul noua.

Descriere generală

Schema bloc:

Hardware Design

Lista piese:

  • placa de baza
  • componente pentru place de baza
  • ecran LCD
  • butoane
  • placuta de test
  • fire

Schema electrica:

Am folosit un LCD oarecare dintr-o biblioteca EAGLE. Acesta nu coincide cu LCD-ul pe care va fi implementat jocul.

Observatie: Pentru simplitate am conectat pinul CONTR(contrast) al LCD-ului la o sursa electrica constanta.

Software Design

Pentru implementarea software am folosit instrumentele din laborator: Bootloader-ul, WinAVR si Programmer's Notepad. Am utilizat libraria pentru LCD. Limbajul de programare folosit: C.

Detalii implementare:

Folosesc doua matrice pentru a tine starea casutelor(cu sau fara mine) si interactiunea cu utilizatorul(daca o casuta a fost sau nu selectata cu click stanga sau daca a fost marcata cu flag). In functie de inputul utilizatorul se vor realiza urmatoarele actiuni: modificarea pozitiei curente prin deplasarea prin matrice, “activarea” unei casute, ce va provoca afisarea numarului de mine ale vecinilor sau sfarsitul jocului in cazul in care se alege o mina, respectiv marcarea cu flag a unei casute. Conditia de castig este aceea de a dezactiva toate minele de pe harta.

Rezultate Obţinute

radur2.jpg

radur1.jpg

radur3.jpg

Concluzii

Proiectul este in varianta finala. Pe parcursul lui am intampinat probleme minore, pornind de la lipsa experientei in acest domeniu. Pot spune ca toata activitatea a avut ca efect imbunatatirea si consolidarea conceptelor prezentate in laborator, la care se adauga o experienta noua.

Download

Jurnal

  • Saptamana 8: Alegere tema proiect
  • Saptamana 9: Schema bloc
  • Saptamanile 10-11: Achizitionare piese placa de baza + montare
  • Saptamana 11: Schema electrica
  • Saptamana 12: Achizitionarea piese pentru restul proiectului
  • Saptamanile 13-14: Implementarea hardware + software

Bibliografie/Resurse

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