Andrei-Lucian BOJINOVICI (24977) - Multimode Pong

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul meu este un joc Pong. Va oferi modurile de joc multiplayer (originalul) si single player (contra AI si BrickBreaker)! Se va juca prin bluetooth, iar jucatorul va controla paleta din dreapta.

Am pornit de la ideea jocurilor din anii trecuti, dar am dorit sa adaug mai multe optiuni.

Descriere generală

Cei doi jucatori vor avea fiecare cate 2 butoane pentru multiplayer. In cele din urma sper ca voi oferi si posibilitatea pentru un jucator sa se trimita comenzi smartphone prin bluetooth.

Microcontroller-ul va primi datele de la input, va modifica starea jocului in functie de acestea si o va trimite spre afisare pe LCD.

Ecranul va reda starea jocului.

Modulul de comunicatie cu jucatorii va interpreta input-ul utilizatorilor.

Modului AI va realiza logica de miscare a paletei AI-ului din modul single player vs AI.

Modulul de afisaj va transmite LCD-ului in functie de starea jocului.

Hardware Design

Pe langa piesele de baza (rezistente, diode, fire etc.), am folosit un microcontroller (cu codul 1715485 ATMEGA324PA-PU), un modul bluetooth, un ecran LCD de Nokia 5110 gasit pe olx.ro si un limitator de tensiune.

Software Design

Voi scrie codul pentru joc in Programmer's Notepad folosind limbajul C. Programul va fi compilat cu avr-gcc din cadrul WinAvr si voi urca .hex-ul obtinut pe placuta cu BootloaderHID. Voi folosi o biblioteca pentru folosirea LCD-ului, la care am mai adaugat functii de desenare utile pentru jocul meu.

Penru a selecta modul, programul meu trece prin mai multe stari:

In start se initializeaza variabilele, in 1 se alege intre iesire, multiplayer sau single player, in 2 se alege intre iesire, BrickBreaker sau vs AI, in quit se afiseaza un mesaj. Fiecare alta stare defineste modul de joc cu acelasi nume.

In fiecare mod de joc, se porneste cu o minge in centrul ecranului si o paleta in partea dreapta a ecranului. Mingea are initial o viteza care va creste la fiecare 10 atingeri de paleta. Directia (initial spre jucator) se va schimba la atingerea marginilor ecranului, a paletelor si a caramizilor. Daca mingea trece de paleta (“in afara” ecranului), jucatorul cu paleta respectiva pierde.

In BB (BrickBreaker), se pun caramizi in partea stanga a ecranului. Scopul jocului este de a atinge (sparge) toate caramizile.

In vs AI, va exista o a doua paleta controlata de un al doilea jucator robot. Acesta functioneaza dupa un algoritm simplu: daca este pe acelasi rand ca mingea, nu isi schimba pozitia, altfel se duce spre minge.

In multi, mai exista un al doilea jucator.

Surse:Soon™

Rezultate Obţinute

Soon™

Concluzii

IT'S ALIVE!

pm/prj2016/csoare/multimodepong.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