Autorul poate fi contactat la adresa: Login pentru adresa
Proiectul consta in realizarea jocului X si 0 folosind o matrice de LED-uri bicolore 3×3.
Jucatorul va avea posibilitatea sa aleaga intre doua moduri de joc:
Selectia intre cele doua moduri se va face prin apasarea butonului AI. Mutarile se vor realiza folosind cinci butoane: UP, DOWN, LEFT, RIGHT si OK, butonul din centru care seteaza mutarea aleasa de jucator.
Fiecare jucator va avea asociata cate o culoare: Player 1 – <fc #FF0000>Rosu</fc>, Player 2 – <fc #008000>Verde</fc>.
Se va juca cel mai bun din 3. De aceea vor fi 3 LED-uri pentru scor. Dupa fiecare meci se va aprinde un LED doar daca Player 1 a castigat runda.
Lista piese de baza:
Piese pentru proiect:
Piesele au fost achizitionate de pe www.tme.eu si www.robofun.ro
Mediul de dezvoltare folosit: Atmel Studio 7
Pentru partea de AI am folosit o euristica simpla: https://kartikkukreja.wordpress.com/2013/03/30/heuristic-function-for-tic-tac-toe/
Proiectul contine:
Clasa Square contine metode de aprindere si stingere a LED-ului in functie de jucatorul curent.
Aceasta clasa contine pinii asociati respectivului LED.
Clasa Board contine o matrice 3×3 de Square.
In Board am implementat metode ce tin de evaluarea tabelei si selectarea urmatoarei miscari.
Tot aici am implementat si logica AI-ului.
In mare parte, game loop-ul (pseudocod) este urmatorul:
# Wait for user to start the game while game is not over: if computer turn: # Choose best move if game over: # Update score # Reset board else: # Swap players else: # Handle input from players # Make move if game over: # Update score # Reset board else # Swap players
A fost un proiect interesant.