Differences

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

Link to this comparison view

pm:prj2022:alaura:bogdan.vasile2211 [2022/05/27 04:15]
bogdan.vasile2211 [Rezultate Obţinute]
pm:prj2022:alaura:bogdan.vasile2211 [2022/05/27 17:27] (current)
bogdan.vasile2211 [Software Design]
Line 40: Line 40:
 ===== Software Design ===== ===== Software Design =====
  
- 
-<note tip> 
 Descrierea codului aplicaţiei (firmware): Descrierea codului aplicaţiei (firmware):
-  * mediu de dezvoltare ​(if any) (e.gAVR Studio, CodeVisionAVR) +  * mediu de dezvoltare: Arduino IDE 1.8.20 
-  * librării şi surse 3rd-party ​(e.g. Procyon AVRlib) +  * librării şi surse 3rd-party
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +        * Adafruit'​s SSD1306 for monochrome OLED displays; 
-  * (etapa 3surse şi funcţii implementate +        * Arduino Joystick Library; 
-</note> +        * Modified AVRs TWI module; 
 +  * algoritmi şi structuri pe care plănuiţi să le implementaţi: 
 +        Codul este implementat in urmatoarele fisiere, care se ocupa fiecare cu cate un element distinct at aplicatiei:​ 
 +                  * **input.h/​.cpp**,​ verifica inputul venit de la jucator; 
 +                  * **types.h/​.cpp**,​ lista de constante pt denumiri pentru diferitele obstacole/​pereti;​ 
 +                  * **sprites.h**,​ care memoreaza in niste arrays informatii sub format BMP despre toate sprite-urile din joc; 
 +                  * **sound.h**,​ care se ocupa de sunetele din joc, transformate pentru a fi interpretate de buzzer si de asemenea tine cont de toate functiile care se ocupa de sunet (playSound(), setFrequency() etc.); 
 +                  * **level.h**,​ o matrice de octeti care reprezinta mapa jocului; 
 +                  * **constants.h**,​ contine informatii generale despre starea jocului, valori tinute aici pentru a putea fi usor modificate (damage values, movement speed etc.); 
 +                  * **display.h**,​ se ocupa de afisarea pe ecran a frame-ului curent; 
 +                  * **entities.h/.cpp**, structuri si functii de management pentru player si inamici; 
 +                  * **TWI_Master.h/​.cpp**,​ pentru a genera un driver pentru modulul TWI; 
 +                  * **SSD1306.h/​.cpp**,​ modificare custom a librariei Adafruit SSD1306; 
 +                  * **doom-nano.ino**,​ driver code pentru aplicatie; face o buna parte din codul propriu-zis al jocului, cum ar fi trasul, mecanica de moarte, detectarea de coliziuni etc.
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
Line 59: Line 69:
 Mai jos sunt ultimele variante ale proiectului,​ cu joystick-ul in functiune: Mai jos sunt ultimele variante ale proiectului,​ cu joystick-ul in functiune:
  
-===== Concluzii =====+{{ :​pm:​prj2022:​alaura:​pm_final_3.png |}}
  
 +{{ :​pm:​prj2022:​alaura:​pm_final_4.png |}}
 ===== Download ===== ===== Download =====
  
pm/prj2022/alaura/bogdan.vasile2211.1653614158.txt.gz · Last modified: 2022/05/27 04:15 by bogdan.vasile2211
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