X si 0
Descriere generală
Dispozitivul simuleaza un joc clasic de X si 0 printr-o matrice de leduri de dimensiune 3×3. Fiecare led este actionat de un buton. Ledurile jucatorului au culoarea albastra iar cele ale computerului sunt rosii. Computerul alege mutarea cea mai convenabila folosind implementarea unui algoritm minimax. Pentru ca jocul sa se termina la egalitate, jucatorul nu trebuie sa faca nicio greseala. Computerul va castiga mereu in cazul in care jucatorul alege o mutare gresita. La sfarsitul jocului, ledurile se vor aprinde in culoarea castigatorului. Exista si un mod AI vs AI. In acest caz, toate jocurile se termina la egalitate.
Schema Bloc
Hardware Design
Lista de piese:
Arduino Uno - 1x
Breadboard - 1x
LED WS2812 - 9x
Push Button - 9x
Dupont Jumper Cables
Wire Cables
Software Design
Descrierea codului aplicaţiei (firmware):
Mediu de dezvoltare: Arduino IDE
Librării: <FastLED.h>
Algoritmi: Minimax
Functii: evaluate, findBestMove, minimax
Rezultate Obţinute
Concluzii
Implementarea finala a proiectului contine modul de joc descris initial (Plyer vs AI) alaturi de un mod Demo (AI vs AI). Acesta se poate vizualiza decomentand linia de cod #define DEMO_MODE. Pentru a diminua timpul de calcul al fiecarei mutari, prima este efectuata la intamplare. Pentru restul mutarilor, algoritmul va alege pozitia optima. Jucatorul nu poate invinge AI-ul dar poate face remiza daca alege doar mutari optime.
Download
Bibliografie/Resurse