Skip to content

Releases: 1BRG/Mario

Release v0.3 – (Milestones 3)

Choose a tag to compare

@1BRG 1BRG released this 05 Jun 19:17

🏁 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
  • Gestionare resurse generică

    • Clasa șablon ResourceManager<T> pentru încărcare & reutilizare
    • Structurile globale AnimationManager și ResourceAudio
  • 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 Sound cât și Music din Raylib
    • Control complet: play, pause, resume, stop, setVolume, update
  • 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 gameFunction pentru fiecare pas: inițializare, încărcare nivele, loop, coliziuni, culling, render
    • Handshake între QuestionBlock și ScoreManager prin Observer
    • Claritate sporită în logica de coliziuni și camera scroll

🧩 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ă Audio complet funcțională
    • Extindere hierarhie excepții și mesaje de eroare explicite
    • Comentarii detaliate în gameFunction și logică de load-level

🔗 Repo: github.com/1BRG/poo-proiect

Release v0.2 (Milestones 1 & 2)

Choose a tag to compare

@1BRG 1BRG released this 18 May 18:31

🏁 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 Turtle cu 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_ptr pentru siguranță și eficiență.
  • Excepții personalizate: Hierarhie FileLoadError, InvalidParameterError, CollisionError cu try/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 CoinBlock ca nouă clasă derivată.

🔗 Repo: [github.com/1BRG/poo-proiect](https://github.com/1BRG/poo-proiect)