Reverse 2048

Autorul poate fi contactat la adresa : valentin.crismaru@gmail.com

Introducere

  • Proiectul consta in crearea jocului 2048 in varianta inversata pe un ecran LCD.
    Scopul jocului este de a ajunge la numarul “1” pornind de la numarul “2048”.
  • Toate numerele sunt puteri ale lui 2, iar unirea unui numar cu el insusi va genera un singur numar in locul celor 2 , care va fi egal cu numarul injumatatit.
  • Ideea de la care am pornit este, evident, clasicul joc 2048. Consider ca ar putea fi util pentru antrenarea atentiei, intrucat majoritatea lumii este obisnuita cu varianta originala a acestui joc, iar aceasta versiune ar putea la inceput sa induca in eroare jucatorii.

Descriere generala

Schema bloc

  • Jucatorul va avea la dispozitie 4 butoane “up”, “down”, “left”, “right” cu care va putea misca numerele in directia dorita. Comanda va fi preluata de catre microcontroller, iar rezultatul va fi afisat pe ecranul LCD.

Hardware design

Lista de piese

  • Placa de baza “PM2019”
  • Microcontroller-ul “ATMEGA324A”
  • 4 butoane
  • Display LCD
  • Breadboard
  • 8 fire mama-tata pentru LCD
  • 5 fire mama-tata pentru butoane
  • 4 fire tata-tata pentru butoane
  • Cablu de imprimanta

Schema electrica

Software design

  • Am inceput realizarea jocului de la “scheletul” de la laboratorul 5, folosind doar sursele “lab5.c” , “spi.c” si “ST7735R_TFT.c” pentru realizarea “lab5.elf” si ulterior “lab5.hex” care va fi incarcat pe placuta. (din cauza unor erori, am mai definit niste macro-uri in “ST7735R_TFT.h”. Pe langa functiile “SPI_init()” si “ST7735R_Begin()” am mai folosit “ST7735R_FillRect(..)” pentru background si pentru casutele din matricea jocului si respectiv “ST7735R_DrawText(..)” pentru afisarea numerelor in casute si a mesajelor (nume joc, nume propriu, mesajul de castigare a jocului, mesajul de pierdere a jocului) pe ecran. Dupa incarcarea pe placuta jocul incepe automat pe LCD si se poate “restarta” prin butonul de “RESET” de pe placuta. Butoanele sunt asezate intuitiv pe breadboard alaturi de LCD.

Rezultate obtinute

Jocul functioneaza, dar ca sa fiu sincer nu am avut rabdarea sa il testez pana la aparitia numarului 1. Totusi, am modificat pentru scurt timp goal-ul la un numar mai mare si mesajul de succes apare pe ecran, programul stagnand pana la apasarea butonului RESET.

img_4876.jpg

  • Inceputul jocului

img_4878.jpg

  • Parcursul jocului

img_4877.jpg

Concluzii

  • A fost o experienta interesanta care m-a ajutat sa inteleg mai bine anumite concepte predate la laborator.
  • Dupa o ora petrecuta pe Maica Domnului in cautare de LCD, am descoperit si eu ca exista Optimus Digital.

Download

Jurnal

  • 22 Aprilie : Alegerea temei proiectului + Descriere + Schema bloc
  • 29 Aprilie + 6 Mai : Lipire componente
  • 9 Mai : Aventuri pe strada Maica Domnului
  • 14 Mai : Schema EAGLE
  • 15 Mai : Comanda piese lipsa
  • 16 Mai : Preluare piese
  • 21-23 Mai : Scriere cod

Bibliografie / Resurse

pm/prj2019/ctranca/2048.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