Autorul poate fi contactat la adresa: Login pentru adresa
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.
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.
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.
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™
Soon™
IT'S ALIVE!