Autorul poate fi contactat la adresa: Login pentru adresa
Proiectul constă în realizarea unui joc de tipul Connect Four pe un LCD.
Connect Four este un joc implementat pentru doi jucători într-o matrice cu 6 linii și 7 coloane. Inițial jucătorii își aleg culoarea pieselor, urmând ca apoi sa pună de sus, pe rând, discuri colorate într-o coloană. Piesele cad, ocupând următorul spațiu disponibil în coloană. Scopul jocului este acela de a obține 4 piese consecutive de culoarea cu care joci, pe linie, coloană sau diagonală, câștigând astfel runda.
În cadrul realizării proiectului sunt urmărite următoarele obiective:
Prin realizarea acestui proiect este foarte ușor de înțeles modul de funcționare al unui ecran LCD, în special dacă se implementează acel algoritm de fluidizare al imaginilor ce descriu în fiecare moment starea jocului. De asemenea, prin crearea unui bot se pot găsi și testa numeroase strategii de câștigare a jocului.
Mod de functionare
Jucătorul va putea realiza următoarele acțiuni:
Pe LCD-ul grafic vor fi afișate atât tabla de joc (matricea de joc) cât și cei doi jucători și jetoanele de culori diferite aferente fiecărui jucător.
Lista piese:
Pentru dezvoltarea software-ului, am folosit urmatoarele:
Librariile si sursele 3rd-party folosite de mine sunt urmatoarele:
Sursele din cadrul proiectului sunt urmatoarele:
In ceea ce priveste functiile implementate, biblioteca LCD-ului, este o combinatie din mai multe biblioteci, unde vom gasi urmatoarele functii:
Jocul l-am implementat in cadrul fisierului sursa main.c, unde am creat functii ajutatoare precum:
Toate aceste functii au fost create pentru a putea reprezenta meniul de start, zona de joc si cei doi jucatori, precum si miscarea celor doi pe tabla de joc, tinerea scorului si afisarea castigatorului.
Initial, se poate alege daca se joaca o singura runda sau mai multe, urmand ca apoi sa apara zona de joc si scorul celor doi jucatori in partea stanga a tablei de joc. Cu ajutorul butoanelor (left, right, drop), atunci cand incepe runda, cei doi jucatori isi pot plasa discurile in careu in pozitia dorita de acestia, urmarind sa formeze o linie, coloana sau diagonala de 4 piese proprii consecutive. Primul care reuseste acest lucru este castigator, iar scorul se modifica corespunzator rundelor castigate.
Proiectul a fost unul interesant, care m-a scos din zona de confort. In final am obtinut un joc functional, care poate fi jucat de doua persoane si in mai multe runde. Ma bucur ca am invatat sa lipesc componente pe o placuta de baza si sa utilizez un microcontroller.