Skip to content

rares567/2048-ncurses

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Jocul este implementat intr-un singur window in ncurses, existand functii ce dau clear la ecran, il recreaza si dau refresh (functie pt meniu, tabla joc, sfarsit de joc). In jocul principal exista un select cu timeout 10ms care ajuta la crearea a 2 "timeout-uri independente" (exista o variabila ce numara cate timeout-uri au avut loc si calculeaza perioada de timp care a trecut). Cele 2 "timeout-uri" reprezinta unul de 1 sec pt a reafisa tabla (ca sa se poata reafisa ora corecta) si unul ce poate fi setat prin variabile (define) in incremente de 10ms. Tabelul de joc este creat prin trasarea unor linii si adaugarea de caractere speciale la intersectii (caractere ACS). Exista o variabila (define) prin care se poate schimba sansa in procente de aparitie a nr 4 la adaugarea unei celule (in jocul original, sansa este de 10%, deci 90% pt a aparea nr 2). Algoritmul de miscare a tablei consta in verificarea daca exista o celula cu 0 (care ar implica ca o miscare este posibila), shiftarea nr in directia respectiva si dupa verificarea daca se pot combina nr (care de asemenea ar constitui o miscare valida). Asemanator functioneaza si functia de determinare a miscarilor valide (celule cu 0 sau combinatii).

Cerintele rezolvate sunt de la 1 la 5, bonus fiind salvarea high score-ului modificarea usoara a timpului asteptat pt mutare automata si a sansei de aparitia a nr 4, centrarea jocului in functie de marimea ferestrei (sau eroare daca nu e suficient de mare), posibilitatea de restartare sau iesire dupa terminarea jocului.

Miscarea in meniu se face cu 'w'/sageata sus si 's'/sageata jos si selectarea cu enter. In jocul propriu-zis, se misca cu wasd sau sagetile. Se revine in meniu prin tasta q, asa cum se si inchide tabla de joc dupa sfarsit. De asemenea, se poate restarta jocul direct dupa sfarsit de joc prin tasta r.

About

The classic 2048 game developed in ncurses, C

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors