This is an old revision of the document!
Grupa : 334CB
X si O este un joc clasic apreciat de oameni de toate varstele. Este un joc pentru doi jucatori, jucat pe o matrice de 3×3. Scopul jocului este sa fii primul jucător care obține de trei ori simbolul sau într-o linie, fie orizontal, vertical sau diagonal. În acest proiect, vom implementa X si O pe o placă Arduino folosind un LCD, joystick si buton. Jocul va fi afișat pe LCD, iar jucătorii vor folosi butonul si joystickul pentru a face mutările.
Jucatorii vor utiliza pe rand joystickul pentru a naviga tabla de joc 3×3 si vor folosi butonul pentru a confirma mutarea (dizpozitivul tine cont de numarul rundei si introduce automat simbolul corect). Tabla de joc este verificata la sfarsitul fiecarei runde daca a fost jucata o mutare castigatoare (jucatorul a completat un rand de 3 cu ultima sa mutare) si de asemenea se verifica daca mai exista spatii goale, in cazul in care nu s-a detectat o victorie, iar tabla este plina, partida va fi declarata remiza. La finalul partidei se va afisa un mesaj care corespunde modului de incheiere (jucatorul 1 / 2 a castigat sau a avut loc o remiza).
Libraries:
SPI.h TFT.h
The game logic is implemented in the code using a 2D array to represent the game grid. Each cell in the grid can have one of the following values:
"-1": Empty cell "0": Player O's mark "1": Player X's mark "2": Temporary mark (used during player X's turn)
The game checks for a winning condition by examining each row, column, and diagonal. If a winning condition is found, the game displays the winner and resets the grid for a new round. If all cells are filled and no winner is found, the game declares a draw and resets.
În etapele următoare… stay tuned!
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.