Călin-Mihnea COSMA (25338) - Pong

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul are ca scop implementarea unui joc in stilul Pong, din jocurile Arcade clasice. Acesta va fi two player, cei doi jucatori controlandu-si prorpiile stick-uri din butoane. Pentru a depasi monotonia variantei clasice, versiunea finala va avea anumite mode-uri originale, ce vor face intreaga experienta mult mai interesanta.

Descriere generală

Schema:

Jucatorul isi va controla propriul stick din butoane, deplasandu-l in diverse pozitii pe spatiul de joc, iar in urma inscrierii unui gol, SCORE-ul va fi modificat si afisat pe LCD.

Hardware Design

Componente:

Part                  Value                 Cod Comert       Cantitate   Pret
-----------------------------------------------------------------------------
ATMEGA324A-PU	     DIL40	       ATMEGA324PA-PU		1	18.84
USB-B	        ConectorUSB B Cvilux	USB B-PCB-R		1	2
16MHZ          QMIM016	Quartz 16MHz  Q16.000 MHz HC-49S	1	1.17
ZENER	          Dioda Zener	         BZX55C3V3		2	0.5
LED EL333	LED 3mm Rosu	         CLL-50221		2	1.09
K1X10 WSL040	    1X40	           HN1X40		1	6.29
K2X10	            2x10	           HN2X10               1	1.17
PUSHBUTTON	   Tasta	        TS-06E (TS-3)		2	0.66
100R	        Rezistenta 0,25W	RW25CF 100R		3	0.23
470R	        Rezistenta 0,25W	RW25CF 470R		3	0.22
1K5	        Rezistenta 0,25W			        1	0.24
10K   	        Rezistenta 0,25W	RW25CF 10K		1	0.24
100nF	        Condensator ceramic			        3	0.41
15pF  KEPF015	Condensator ceramic	CML 15pF 50V NP0        2	0.44
Soclu DIP40	Soclu Microcontroller	LC40		        1	1.15
Jumper	            Jumper			                1	0.76

Software Design

Descrierea codului aplicaţiei (firmware):
  Mediul de deszvoltare folosit: Programmer's Notepad
  Compilator: avr-gcc
  Librării 3rd-party: "u8g.h"
  
  Am implementat jocul Pong. Am utilizat libraria "u8g.h" pentru a putea lucra mai usor cu LCD-ul de 128x64.
  Desenez cele doua BAR-uri, ce vor reprezenta cei doi jucatori, in parti opuse ale ecranului. Apoi, dintr-un punct random, creez si bila.
  Jucatorii isi vor putea deplasa propriul bar prin doua butoane, ce vor schimba directia de miscare a acesteia.
  In cazul inscrierii unui gol, se va afisa pe ecran mesajul "GOAL" + numele jucatorului care a inscris.
  
  Fata de jocul clasic, cele doua BAR-uri nu au ca limite de miscare marginile ecranului, acestea intrind intr-un "warp zone", 
  oferindu-le astfel jucatorilor posibilitatea de a dezvolta noi tactici.
 

Rezultate Obţinute

REZULTATE:

Intregul circuit: Placuta PM + Placuta Test cu butoane + LCD

Concluzii

Jocul a fost implementat cu success. (cu mici probleme la detectarea coliziunii in anumite cazuri)

Download

Arhiva ce contine cod-ul pentru joc: cosma_calin_mihnea333cb.zip

Jurnal

5.05.2016 - Am terminat de lipit placuta PM

15.05.2016 - Am cumparat LCD-ul + restul componentelor neseare conectarii

20.05.2016 - Am inceput terminat ultima etapa Hardware a proiectului

21.05.2016 - 26.06.2016 - Am implementat jocul Pong.

Bibliografie/Resurse

LCD12864 datasheet: http://www.vishay.com/docs/37329/37329.pdf
Libraria u8glib: https://github.com/olikraus/u8glib

pm/prj2016/mandrei/calin_mihnea_333cb.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