NIM Game
Introducere
Proiectul are ca scop implementarea unui joc asemanator cu cel clasic NIM. Exista doua moduri de joc:
single player, in care se joaca impotriva unei inteligente artificiale
multiplayer, caz in care, se vor conecta doua placute.
Descriere generală
Jocul are urmatoarele reguli:
Exista 3 linii ce contin 3, 5, respectiv 7 leduri.
La fiecare pas, un jucator poate stinge un numar de la unul pana la toate ledurile aprinse de pe o singura linie.
Jucatorul care stinge ultimul led pierde jocul.
Hardware Design
Componente folosite:
Leduri
Butoane
Rezistente
Cablu serial (home made)
Fire de legatura
Schema placii de baza:
Software Design
Pentru implementarea inteligentei artificale, in cazul alegerii modului de joc “single player”, am folosit algoritmul negamax. Functia de evaluare se bazeaza pe urmatoarea proprietate a jocului:
Fiind date N linii cu leduri, prima linie avand n1 leduri, cea de-a doua n2 samd, o pozitie este pierzatoare in jocul de NIM daca si numai daca suma-xor a numerelor de leduri din linii este diferita de 0, adica daca x1 xor x2 … xor xN ≠ 0.
Pentru implementarea comunicatiei seriale, ne-am documentat din laborator.
Rezultate Obţinute
Proiectul functioneaza conform asteptarilor.
Concluzii
“Unde-s doi puterea creste.” Ne-a ajutat foarte mult faptul ca am lucrat in echipa, iar satisfactia de la final a fost cu atat mai mare deoarece ne-am jucat impreuna.
Download
Jurnal
Day 1. Alegerea temei de proiect.
Day 2. Lista de comparaturi pentru componente
Day 5. Drum pe Maica Domnului
Day 9. Incepem sa lipim si sa codam.
Day 15. Debugging, arsuri si scurt circuite.
Day 19. Se aprind ledurile si functioneaza butoanele.
Day 21. Ne jucam cu o placuta.
Day 22. Cablu serial home made.
Day 23. It is working!
Bibliografie/Resurse