davidbalan05/2028-Game
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
In realizarea programului am folosit mai multe functii pentru a-mi simplifica munca: -o functie de generare a unui numar dintre 2 si 4 pe o pozitie aleatoare a tablei de joc; -o functie de afisare a tablei -o functie de rotire a tablei cu 90 de grade la dreapta; -o functie de ordonare a tablei, punand zerourile in dreapta -o functie care aduna elementele care pot fi adunate conform regulilor jocului -o functie care realizeaza mutarea data de la tastatura, rotind tabla pentru fiecare mutare diferita -o functiecare comtara 2 table; -o functie care decide daca jocul se termina, adica jucatorul castiga sau pierde; -o functie care calculeaza celulele libere; -o functie de copiere a unei table in alta; -o functie de calcul a tablei urmatoare, adica cea care elibereaza cele mai multe celule -o functie de afisare a datei si a orei curente -o functie pentru meniul jocului -si alte doua functii care afiseaza mesaje in terminal La ineputul main-ului se initializeaza tabla de joc cu zerouri si se genereaza 2 numere de 2 sau 4 pe o pozitie random. Apoi se intra in meniul jocului, unde se poate selecta daca inceperea unui joc nou, revenirea in jocul abandonat sau iesirea din program. La selectarea inceperii jocului, sunt afisate pe ecran tabla, regulile jocului, scorul si numarul de secunde pana cand se face automat mutare, actualizandu-se in timp real. Pe langa folosirea comenilor de joc, sagetile de la tastatura, jucatorul poate apasa tasta 'u' pentru a da undo sau poate apasa 'q' pentru a se intoarce in meniu. Jucatorul castiga cand atinge valoarea 2048 pe tabla de joc si pierde cand nu mai poate sa faca nicio mutare valida. Daca jocul se termina, jucatorul inca poate sa se intoarca in meniu si sa inceapa un joc nou. Pentru a avea o experienta placuta dati terminalul pe fullscreen.