Autorul poate fi contactat la adresa: Login pentru adresa
Proiectul meu reprezinta implementarea a doua jocuri: TIC-TAC-TOE si 3-IN-A-LINE. Cele doua jocuri sunt foarte populare si desi au reguli simple, sunt suficient de interesante si distractive pentru a te provoca sa incerci.
<fc #FB00BB> TIC-TAC-TOE</fc>
Fiecare jucator la o mutare poate alege o casuta libera pe care sa o marcheze, cu X sau O. Castiga primul care face 3 casute adiacente pe orizontala, verticala sau diagonala.
<fc #FFFFFF>White Colored Text</fc>
<fc #FB00BB>3-IN-A-LINE</fc>
3-IN-A-LINE este pentru doi jucatori: fiecare are o culoare cu care joaca. Un disc este aruncat pe verticala. Obiectivul jocului este de a conecta trei discuri de aceeasi culoare pe verticala, orizontala sau diagonala.
<fc #0080D0>MODULE:</fc>
<fc #800080> Placa de baza: </fc>
ATMEGA324PA-PU Capacitate 15pF * 2 Led rosu * 1 Led verde * 1 Crystal Fund 16.000MHz * 1 Rezistente: 10K * 1, 1K * 2, 100 * 3, 2.2K * 1 RW25CF 10K * 1 - min 50cs Butoane * 2 Socket * 1 USB B-PCB-R * 1 Diode * 2 Condensatoare 100nF * 3 Conectori * 4 Pini * 9 Jumper * 1
<fc #800080> Placa secundara: </fc>
Pini * 40 Leduri bicolore, catod comun * 12 Rezistente 1K * 12 Butoane * 3 Fire Conectori Fire Circuit
Schema a fost realizata in Eagle.
<fc #008080>Mediu de dezvoltare: </fc>
Jocul se joaca player vs program. Am facut un algoritm care alege ce mutare va face programul in cele doua jocuri cand ii vine randul.
La inceput, Playerul va alege ce joc sa joace: Pentru Tic-Tac-Toe apasa butonul Stanga. Pentru 3-IN-A-ROW apasa butonul dreapta.
Cand este Selectat <fc #800080>TIC-TAC-TOE</fc> din leduri va aparea litera <fc #800080>T</fc>. Prima miscare o face playerul. El se poate plimba cu butonul din stanga pe orizontala, iar cu cel din dreapta pe verticala. Cand doreste sa marcheze o casuta, va apasa butonul din mijloc. Dupa ce playerul face o mutare, se verifica daca aceasta l-a adus la castig: daca Da - jocul se incheie, daca Nu - jocul continua. Programul va alege singur ce miscare il avantajeaza. El verifica cateva din cazurile in care pe matrice exista linii de 2 “x” si daca sunt, va inlatura posibilitatea ca playerul sa castige, marcand casuta respectiva. Se verifica daca programul a castigat. Daca Da jocul se opreste.
Cand este Selectat <fc #800080>3-IN-A-ROW</fc> din leduri va aparea o linie. Prima miscare o face playerul. El se poate plimba pe orizontala cu butoanele din stanga si dreapta. Cand doreste sa puna o piesa, va apasa butonul din mijloc. Piesa cade si se aprinde beculetul care arata unde s-a oprit aceasta din cadere. Dupa ce playerul face o mutare, se verifica daca aceasta l-a adus la castig: daca Da - jocul se incheie, daca Nu - jocul continua. Programul va alege singur ce miscare il avantajeaza. El verifica cateva din cazurile in care pe matrice exista linii de 2 casute si daca sunt, va inlatura posibilitatea ca playerul sa castige, aruncand si el o piesa. Se verifica daca programul a castigat. Daca Da jocul se opreste.
Proiectul este functional. Utilizatorul alege unu din cele doua jocuri disponibile, dupa care se poate juca. Pentru TIC-TAC-TOE se folosesc 9 leduri. Pentru 3-IN-A-ROW se foloseste intreaga matrice de leduri.
<fc #FF00FF>TIC-TAC-TOE :</fc><fc #FFFFFF>—————————————————————————————————————</fc><fc #FF00FF>3-IN-A-ROW :</fc>
A fost un proiect dragut si ma bucur ca am reusit sa il finalizez.
Sursa proiect: pm.zip