Repository navigation
Releases: 1BRG/Mario
Releases · 1BRG/Mario
Release list
Release v0.3 – (Milestones 3)
🏁 Release v0.3 – Documentație & Refactorizare Completă
Tag: v0.3
Date: 2025-06-05
✅ Ce am adăugat și îmbunătățit
-
Documentație completă
Am adăugat comentarii concise în toate clasele și fișierele sursă, explicând:- Rolul fiecărei variabile și metode
- Fluxul de inițializare și resurse
- Logica de coliziune, mișcare și desen
-
Pattern Observer pentru evenimente de mediu
- Interfețele
IObserver/ISubject - Notificări pentru evenimente:
Brick_break,Question_hit,Coin_spawn,Coin_collected, etc. - Manager de scor (
ScoreManager) care ascultă și actualizează punctajul
- Interfețele
-
Gestionare resurse generică
- Clasa șablon
ResourceManager<T>pentru încărcare & reutilizare - Structurile globale
AnimationManagerșiResourceAudio
- Clasa șablon
-
Factory pentru entități
EntityFactory::createEntity(Type, ...)cu tipuri:brickBlock,groundBlock,questionBlock,player,turtle- Variadic templates pentru unificarea codului de creare
-
Clasă Audio robustă
- Încarcă și redă atât
Soundcât șiMusicdin Raylib - Control complet:
play,pause,resume,stop,setVolume,update
- Încarcă și redă atât
-
Excepții personalizate extinse
BaseException,FileException,FpsException,TextureException- Mesaje clare și aruncare controlată în caz de erori de fișier, textura lipsă, frame rate
-
Refactor Game Loop & Load Level
- Comentarii în
gameFunctionpentru fiecare pas: inițializare, încărcare nivele, loop, coliziuni, culling, render - Handshake între
QuestionBlockșiScoreManagerprin Observer - Claritate sporită în logica de coliziuni și camera scroll
- Comentarii în
🧩 Milestone-urile acestui release
- Milestone 3 (
v0.3):- Documentație inline în toate fișierele
.h/.cpp - Implementare Observer & ScoreManager
- Adăugare ResourceManager generic pentru animații și audio
- Factory unificat pentru entități
- Clasă
Audiocomplet funcțională - Extindere hierarhie excepții și mesaje de eroare explicite
- Comentarii detaliate în
gameFunctionși logică de load-level
- Documentație inline în toate fișierele
🔗 Repo: github.com/1BRG/poo-proiect
Release v0.2 (Milestones 1 & 2)
🏁 Release v0.2 – Super Mario POO
Tag: v0.2
Date: 2025-05-18
✅ Ce am implementat
- Player & Tiles: Control complet al personajului și interacțiuni cu
FloorTile,BrickBlock,QuestionBlock. - Coliziuni: Detectare și gestionare a coliziunilor dintre entități.
- Inamic Turtle: Adăugat inamicul
Turtlecu comportament dedicat. - Interacțiuni: Activarea blocurilor de tip întrebare și colectarea monedelor.
- Arhitectură OOP: Moștenire și polimorfism prin clasa de bază
Entity. - Gestionare memorie:
std::unique_ptrpentru siguranță și eficiență. - Excepții personalizate: Hierarhie
FileLoadError,InvalidParameterError,CollisionErrorcutry/catch. - CI/CD: GitHub Actions pentru build automat și teste unitare.
🧩 Milestone-urile
-
Milestone 1 (
v0.1):- Implementare clase de bază (Player, FloorTile, BrickBlock, QuestionBlock).
- Funcții non-triviale:
move(),collidesWith(),activate(). - Supraincărcare
operator<<, copy ctor, copy assign & destructor.
-
Milestone 2 (
v0.2):- Separare
.hpp/.cppși cod mai modular. - Polimorfism cu
update()&render()virtuale. - Smart pointers, copy-and-swap, excepții & ierarhie de erori.
- Adăugare
CoinBlockca nouă clasă derivată.
- Separare
🔗 Repo: [github.com/1BRG/poo-proiect](https://github.com/1BRG/poo-proiect)