Andreea ŢIPĂU - TIC-TAC-TOE & 3-IN-A-LINE

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

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.

Prezentare jocuri

<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.

tic-tac-toe

<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.

connect4.html

Descriere generală

  • Se va folosi o matrice 3×4 de leduri. Fiecare jucator este reprezentat de o culoare. Pentru a se putea misca pe matricea de leduri, jucatorul are la dispozitie 2 butoane: <fc #000080>STANGA</fc>, <fc #808000>DREAPTA</fc>/<fc #008080>SUS</fc> (dreapta pentru 3-IN-A-ROW, sus pentru TIC-TAC-TOE) . Pentru a marca casuta el se va folosi de un buton independent de cele 2, <fc #800080>MARCHEAZA</fc>.Selectarea jocului se face la inceput: <fc #000080>STANGA</fc> pentru TIC-TAC-TOE, iar <fc #808000>DREAPTA</fc>/<fc #008080>SUS</fc> pentru 3-IN-A-ROW.
  • TIC-TAC-TOE foloseste o parte din matricea de leduri: 3×3 ( stanga ) si toata butoanele prezentate mai sus.
  • 3-IN-A-ROW foloseste intreaga matrice, iar din butoane: toate.

SCHEMA BLOC

<fc #0080D0>MODULE:</fc>

  • <fc #0080B0>BUTOANE</fc> : Utilizatorul intereactioneaza prin butoane.
  • <fc #0080B0>ATMEGA 324</fc> : Microcontroller-ul ce va trimite comenzi de la butoane la leduri.
  • <fc #0080B0>MATRICE LEDURI</fc> : Jocul poate fi vizualizat pe matricea de leduri.

Hardware Design

LISTA DE PIESE

<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 electrica

Schema a fost realizata in Eagle.

Software Design

<fc #008080>Mediu de dezvoltare: </fc>

  • <fc #800080>Eagle</fc> (schema electrica)
  • <fc #800080>AtmelStudio</fc> ( cod program)

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.

FLOW CHART

Rezultate Obţinute

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.

Poze:

<fc #FF00FF>TIC-TAC-TOE :</fc><fc #FFFFFF>—————————————————————————————————————</fc><fc #FF00FF>3-IN-A-ROW :</fc>

Concluzii

A fost un proiect dragut si ma bucur ca am reusit sa il finalizez.

Download

Sursa proiect: pm.zip

Bibliografie/Resurse

Resurse Hardware

Resurse Software

pm/prj2015/iantoche/xsi0_tipauandreea.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0