PacMan

Introducere

Proiectul realizat consta in realizarea jocului pacman utilizand placa Arduino, ecran LCD, butoane, breadboard, fire de legatura si un switch. Scopul acestui proiect are rolul de a demonstra practic informatiile si conceptele invatate la laborator.

Descriere generală

Pentru joc, voi folosi o placa Arduino, un ecran LCD, 5 butoane, un breadboard, fire de legatura si switch. Schema bloc:

Hardware Design

  • placa Arduino UNO
  • ecran LCD
  • 5 butoane
  • breadboard
  • switch
  • fire de legatura

Schema electrica:

Software Design

Pentru lucrul cu LCD-ul am folosit o biblioteca Adafruit, pt care am importat diverse imagini in cod hexa (bitmap pt harta, pacman si fantoma). Astfel puteam afisa rapid imaginile. O dificultate aparuta a fost verificarea coliziunii cu zidurile, deoarece lucrul pe biti ducea la rezultate eronate, iar pastrarea unei matrici cu zonele sigure de deplasare ar fi supra incarcat memoria. Asa ca am analizat matricea zonelor sigure si am transpus-o intr-o functie de verificare a unei pozitii x-y pe intervale.

Ca variabile am tinut minte date despre jucator, fantoma si banuti, dar si despre starea jocului si timpul power-upurilor. Se face input buffering pt controlul pacmanului, astfel incat schimbarea directiei sa fie rapida. Coliziunea intre pacman-fantoma si pacman-coin se face simplu prin distanta. Animatia personajelor depinde de 2 frameuri ce se schimba in functie de timp.

Codul se poate gasi aici: pacman.rar

Rezultate Obținute

Concluzii

Jocul este functional, desi nu este implementat cum imi doream original (lcd-ul este diferit si mai mic, iar controlul este pe butoane in loc de joystick). Optimizarea pentru specificatiile arduinoului a fost partea cea mai interesanta a proiectului.

Download

Bibliografie/Resurse

Bibliotecile Adafruit GFX si SSD1306

pm/prj2021/abasoc/pingpong.txt · Last modified: 2021/06/02 23:37 by iulia.popa
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