Acest proiect este un joc 2D de tip Tile-Based Adventure (Aventură pe Bază de Dale) cu tema Căutării de Comori (InSearchOfTreasures), dezvoltat integral în Java.
Jocul este construit pe principii solide de Programare Orientată pe Obiecte (OOP), utilizând pattern-uri de design pentru a asigura o structură modulară și ușor de întreținut.
- Singleton Pattern: Logica centrală și bucla de joc (Game Loop) sunt gestionate printr-o clasă Singleton (
Game.java), asigurând un control unic al stării globale a aplicației. - Factory Pattern: Tranzițiile între diferitele ecrane ale jocului (Meniu, Nivel 1, Poveste, Pauză, GameOver) sunt realizate folosind pattern-ul Factory (
GameState_FACTORY), promovând flexibilitatea în adăugarea de noi stări. - Persistența Datelor: Datele de configurare (opțiuni, limba meniului) și progresul salvat al jocului sunt stocate și gestionate prin fișiere SQLite.
- Grafică și Resurse: Jocul folosește Java Swing/AWT și un sistem dedicat de gestionare a resurselor pentru Dale/Tiles (hărți), Sprite-uri (caractere) și sunete (WAV/MP3).
Pentru a compila și rula jocul, este necesară configurarea dependențelor externe (fișiere JAR) într-un Mediu de Dezvoltare Integrat (IDE) precum IntelliJ IDEA sau Eclipse.
Proiectul nu utilizează un sistem automatizat de build (ex. Maven/Gradle), prin urmare, următoarele fișiere JAR trebuie adăugate manual în Calea de Compilare (Build Path) a proiectului:
- Bază de Date:
sqlite-jdbc-3.8.11.2.jar - Suport Audio:
Libs/jl1.0.1.jarLibs/mp3spi1.9.5.jarLibs/tritonus_share.jar
- Clonare: Clonați repository-ul.
- Importă Proiectul: Deschideți folderul
InSearchOfTreasuresca proiect Java în IDE-ul dumneavoastră. - Adaugă JAR-urile: Configurați dependențele adăugând manual toate cele patru fișiere JAR menționate mai sus în dependențele modulului/proiectului.
- Clasa Principală: Rulați clasa principală de pornire a jocului:
Această acțiune va iniția fereastra jocului și va afișa meniul principal.
com.Joc.InSearchOfTreasure.Main_SINGLETON.Game
| Pachet | Rol Principal |
|---|---|
Main_SINGLETON |
Punctul de intrare (Game Loop) și panoul de afișare (GamePanel). |
GameState_FACTORY |
Abstractizarea și implementarea stărilor jocului (Meniu, Pauză, Niveluri, etc.). |
Entity |
Modelele de obiecte din joc: Caracterul jucător, Item-uri, Comoara. |
ManagerResurse |
Gestiunea resurselor (Dale/Tiles, Sunet, Control, Ceas). |