Alexandra-Maria SANDU (87590) - X și 0

Autorul poate fi contactat la adresa: alexmaria.sandu@gmail.com

Introducere

Proiectul constă în implementarea cunoscutului joc X și 0 pe un LCD grafic. Scopul proiectului este să permită ca 2 utilizatori să joace clasicul X și 0, prin intermediul unui joystick și al unor butoane.

Descriere Generală

Jocul este reprezentat de o matrice 3×3, în spațiul căreia jucătorul se deplasează prin intermediul unui joystick și alege căsuța dorită, dacă aceasta este liberă, pentru a o ocupa, cu ajutorul unui buton, cu caracterul 'X' sau '0', astfel: primul utilizator va juca cu 'X', iar al doilea va juca cu '0'. Va câștiga jucătorul care va completa primul o linie, o coloană sau o diagonală cu caracterul său.

Schema

Hardware Design

Piese:

  • plăcuță ATmega324a + componente
  • LCD
  • joystick
  • buton
  • fire de legătură
  • baterie / laptop

Schema electrică:

Software Design

Pentru implementarea jocului, am utilizat un LCD grafic, pe care l-am conectat la placa de bază prin PORTB, și un joystick conectat la placă prin PORTD, ambele prin intermediul firelor mamă-mamă. De asemenea, am folosit și un regulator de tensiune pentru trecerea de la 5V la 3.3V fără supraîncălzirea display-ului.

Schema electrică am creat-o cu ajutorul aplicației Eagle, prezentată la laborator.

Am scris codul în Visual Studio pe Windows 7, 64 biți. Tabla de joc este reprezentată din 9 celule prin intermediul unor coordonate x și y. Jucătorul care începe are posibilitatea să pună X în oricare dintre cele 9 căsuțe, mutându-și poziția cu ajutorul joystick-ului și marcând-o prin intermediul butonului (center). Am folosit un vector de 9 elemente pentru a reține pozițiile marcate pentru ca pe parcursul avansării în joc să nu se poată rescrie o căsuță, dar și pentru a afla când câștigă unul dintre jucători.

Rezultate obținute

Concluzii

A fost o experiență inedită să implementez cunoscutul joc de X și 0 (Tic-Tac-Toe) de la zero și astfel să aflu cum funcționează programarea pe plăcuță.

Download

Jurnal

  • 15 mai: finalizarea cumpărăturilor
  • 17 mai: finalizarea părții hardware
  • 23 mai: finalizarea părții software și testare

Bibliografie/Resurse

pm/prj2019/apredescu/x-si-0.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