Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2021:avaduva:jumpgame [2021/05/02 18:35]
andrei.jelea
pm:prj2021:avaduva:jumpgame [2021/06/03 10:08] (current)
andrei.jelea
Line 9: Line 9:
 ===== Descriere generală ===== ===== Descriere generală =====
  
-Jucatorul trebuie sa sara peste diversele obstacole ​ce vor aparea din fata si va primi puncte ​pentru fiecare obstacol evitat. Pe masura ce acesta ​inainteaza, obstacolele ​vin din ce in ce mai repedeJocul se termina cand jucatorul obtine 1000 de puncte.+Jucatorul trebuie sa sara peste obstacolele ​ce vor aparea din fata si va primi puncte ​pe masura ce inainteaza. Obstacolele ​vin din partea dreapta, iar scorul este afisat ​in coltul din dreapta sus. 
 + 
 + 
 +===== Schema bloc ===== 
 + 
 +{{ :​pm:​prj2021:​avaduva:​jumpgame.png |}} 
 + 
 +===== Hardware Design ​ ===== 
 + 
 +==== Lista de componente ====
  
-===== Componente ===== 
  
   * Arduino UNO   * Arduino UNO
-  * Adafruit RGB Backlight ​LCD+  * LCD 20x4
   * Breadbord   * Breadbord
   * Rezistor 220ohm   * Rezistor 220ohm
Line 20: Line 28:
   * Fire   * Fire
  
-===== Schema bloc =====+==== Schema ​electrica ==== 
 + 
 +{{ :​pm:​prj2021:​avaduva:​webp.net-resizeimage.png |}} 
 + 
 +===== Software Design ===== 
 + 
 +Descriere software: 
 +  * Mediul de dezvoltare: Arduino IDE 
 +  * Biblioteca folosita: LiquidCrystal.h 
 +  * Logica implementarii:​ 
 + 
 +Actiunea jocului are loc doar pe primele 2 linii si primele 16 coloane ale LCD-ului. Jucatorul se va afla mereu pe coloana 1 si pe liniile 1 sau 2(daca alearga este pe linia 2, iar daca se afla in saritura este pe linia 1). La un moment de timp, fiecare ​bloc(care are 5x8 = 40 biti) din cele 2 x 16 = 32 va avea o configuratie anume din urmatoarele:​ 
 +  * Bloc obstacol complet 
 +  * Bloc obstacol inceput 
 +  * Bloc obstacol sfarsit 
 +  * Bloc gol 
 +  * Bloc jucator in alergare 
 +  * Bloc jucator in saritura completa(linia1) 
 +  * Bloc jucator la jumatatea sariturii, partea de jos(linia2) 
 +  * Bloc jucator la jumatatea sariturii, partea de sus(linia1) 
 +Inregistrarile tuturor configuratiilor se realizeaza prin functia createChar, din biblioteca LiquidCrystal.h,​ care asociaza un index fiecarei configuratii de 5x8 biti si astfel, afisarea se va face cu functia print, folosind ca argument doar indexul respectiv. 
 +Functiile folosite sunt: 
 +  * init_graphics:​ se initializeaza configuratiile posibile si se memoreaza cu functia createChar; se configureaza blocurile initiale, toate fiind de tipul "Bloc gol"​. 
 +  * slide_blocks:​ functie pentru deplasarea in stanga a obstacolelor 
 +  * draw_hero: functie ce determina configuratia blocurilor de pe coloana eroului pe baza actiunii acestuia si printeaza toate blocurile; de asemenea, se verifica si daca are loc coliziunea jucatorului cu obstacolele. 
 +  * setup: se initializeaza pinii si tipurile de configuratii 
 +  * loop: este implementata logica jocului - la fiecare frame se apeleaza functiile descrise de mai sus 
 + 
 +===== Rezultate obtinute ===== 
 + 
 +{{ :​pm:​prj2021:​avaduva:​webp.net-resizeimage.jpg |}} 
 + 
 +{{ :​pm:​prj2021:​avaduva:​webp.net-resizeimage_1_.jpg |}} 
 + 
 +===== Concluzii ===== 
 + 
 +Consider ca a fost un proiect foarte interesant, din care am avut multe de invatat, atat pe partea de hardware cat si pe cea de software si rezultatul este unul satisfacator. 
 + 
 +===== Jurnal ===== 
 + 
 +  * Etapa1 
 + 
 +Alegerea temei proiectului 
 + 
 +  * Etapa2 
 + 
 +Achizitionarea pieselor necesare si a ustensilelor utilizate pentru lipirea pinilor LCD-ului 
 + 
 +  * Etapa3 
 + 
 +Asamblarea efectiva a partii hardware si scrierea codului 
 + 
 +===== Download ===== 
 + 
 +{{:​pm:​prj2021:​avaduva:​andrei_jelea_333cc_proiectpm.zip|}} 
 + 
 +===== Demo ===== 
 + 
 +https://​drive.google.com/​file/​d/​1D_baxJYIpgqKhzp0HHltPS_vNCKCK_yl/​view?​usp=sharing 
 + 
 +===== Bibliografie si Resurse ===== 
 + 
 +[[https://​www.youtube.com/​watch?​v=JTL3vzvTZac]] 
 + 
 +[[https://​www.arduino.cc/​en/​Reference/​LiquidCrystal]] 
 + 
 +[[https://​www.arduino.cc/​en/​Reference/​LiquidCrystalCreateChar]] 
 + 
 + 
 + 
 + 
 + 
  
-{{ :​pm:​prj2021:​avaduva:​jumpgame.png |}} 
  
  
  
pm/prj2021/avaduva/jumpgame.1619969738.txt.gz · Last modified: 2021/05/02 18:35 by andrei.jelea
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