Commit Graph

71 Commits

Author SHA1 Message Date
Matteo Benedetto 243bb6d9bd Enhance blood stain mechanics: add dynamic blood surface generation and integrate blood stains into game rendering 2025-08-13 23:30:43 +02:00
Matteo Benedetto 689b21bf65 Add unit tests for UnitFactory functionality and initialize units package 2025-08-13 20:36:51 +02:00
Matteo Benedetto 088ae02080 Refactor unit classes to reduce code duplication and improve maintainability
- Updated the Unit base class to include common attributes and methods for all units.
- Refactored Bomb, Point, and Rat classes to inherit from the new Unit class structure.
- Implemented a consistent die method across units for better cleanup.
- Removed redundant code in unit initialization and added specific attributes where necessary.
- Deleted obsolete configuration file and added a comprehensive architecture guide for future reference.
2025-08-13 17:42:45 +02:00
Matteo Benedetto 3266ce8209 Initialize SDL and load graphics assets in GameWindow constructor 2025-08-12 15:30:45 +02:00
Matteo Benedetto aa907ed80a optimus-l1 2025-08-12 14:48:57 +02:00
Matteo Benedetto 89812d3ed8 Added full-screen toggle option in start menu.
- Added 'toggle_full_screen' key binding to json file.
- Implemented full-screen functionality in rats.py.
v1.0
2025-01-04 16:11:50 +01:00
Matteo Benedetto d31de92758 Rimuovi parametri non necessari dalla riproduzione audio e semplifica la gestione delle posizioni del testo 2024-12-28 12:03:01 +01:00
Matteo Benedetto 6dc871db54 Aggiorna la gestione dei tasti e aggiungi nuovi file di configurazione per le schermate di pausa e menu di avvio 2024-12-28 00:34:48 +01:00
Matteo Benedetto 69940890ec Aggiungi implementazione di EGL per la gestione del contesto OpenGL 2024-12-27 22:23:05 +01:00
Matteo Benedetto 98a9e5fb8b Aggiungi file di configurazione per i binding dei tasti e implementa la gestione degli input nel gioco 2024-12-27 19:03:04 +01:00
Matteo Benedetto ccf7769979 Semplifica la gestione audio rimuovendo il supporto per più dispositivi e centralizzando l'uso di un singolo dispositivo audio 2024-12-26 01:14:26 +01:00
Matteo Benedetto 3e7056e23f Rimuovi chiamate non necessarie ai metodi di riproduzione e arresto audio 2024-12-26 00:50:27 +01:00
Matteo Benedetto 8b3ad61047 Correggi la variabile di ambiente RESOLUTION e aggiorna il disegno dello sfondo per considerare gli offset 2024-12-26 00:33:23 +01:00
Matteo Benedetto ebfe9dcceb Aggiungi supporto per la creazione e il disegno di texture di sfondo nel gioco 2024-12-26 00:12:00 +01:00
Matteo Benedetto cb25866754 Aggiungi supporto per audio e migliora la gestione delle dipendenze nel progetto 2024-12-25 02:15:25 +01:00
Matteo Benedetto 1964ad87f9 Aggiungi il file README.md con dettagli sul gioco, funzionalità, installazione e struttura del progetto 2024-12-23 23:12:05 +01:00
Matteo Benedetto fb1f2cd7a0 Aggiungi .env e rats.spec al file .gitignore 2024-12-23 19:37:11 +01:00
Matteo Benedetto 1730538792 Rimuovi il file .env non più necessario 2024-12-23 19:36:53 +01:00
Matteo Benedetto 3aa9c84b54 Aggiorna la gestione della risoluzione nel file .env e modifica la funzione win_screen per supportare la visualizzazione dei punteggi 2024-12-23 18:31:50 +01:00
Matteo Benedetto 9553b4b4e2 Rimuovi il file scores.txt contenente i punteggi precedenti 2024-12-23 17:21:15 +01:00
Matteo Benedetto 8b213761e4 Aggiungi la funzione count_rats per contare i ratti e aggiorna la logica di gioco; modifica la risoluzione nel file .env e gestisci eccezioni nel metodo pop di Timer 2024-12-23 17:16:05 +01:00
Matteo Benedetto 3ee958b235 Aggiungi supporto per la pausa tramite un nuovo tasto nella classe KeyBindings 2024-12-23 17:03:23 +01:00
Matteo Benedetto 3eecc98304 Migliora la logica di scrolling degli assi nella classe KeyBindings 2024-12-23 16:56:36 +01:00
Matteo Benedetto f3fe91ca36 Aggiungi supporto per lo scrolling degli assi nella classe KeyBindings e integra la gestione degli eventi di movimento degli assi nella classe GameWindow 2024-12-23 16:53:37 +01:00
Matteo Benedetto f473265df7 Aggiorna la gestione dei tasti rilasciati nella classe KeyBindings per includere tasti aggiuntivi 2024-12-23 16:42:30 +01:00
Matteo Benedetto 7f18f7e46e Rimuovi la gestione del rilascio dei tasti e migliora la logica di scrolling nella classe KeyBindings; aggiorna la classe GameWindow per gestire correttamente gli eventi di rilascio dei tasti 2024-12-23 16:31:42 +01:00
Matteo Benedetto 2e4d0b8726 Modifica la gestione dei tasti nella classe GameWindow; aggiungi supporto per il rilascio dei tasti e migliora la logica di scrolling 2024-12-23 16:23:40 +01:00
Matteo Benedetto 3be35d07ee Aggiungi rats.spec al .gitignore 2024-12-23 13:03:20 +01:00
Matteo Benedetto d446fd4097 Rimuovi il file rats.spec non più necessario 2024-12-23 13:03:14 +01:00
Matteo Benedetto a123ee7c41 Aggiungi directory build e dist e il file rats al .gitignore 2024-12-23 13:00:43 +01:00
Matteo Benedetto 4425cb5873 Rimuovi il file warn-rats.txt non più necessario per la gestione dei moduli mancanti in PyInstaller 2024-12-23 13:00:21 +01:00
Matteo Benedetto ae0a088011 Modifica il percorso di caricamento delle immagini nella classe GameWindow; aggiungi file di configurazione per PyInstaller 2024-12-23 12:55:34 +01:00
Matteo Benedetto 7a21d4cb42 Aggiorna la gestione della risoluzione e ottimizza il disegno delle immagini nella classe GameWindow; aggiungi scores.txt al .gitignore 2024-12-23 01:39:20 +01:00
Matteo Benedetto 5b97f25cdf Modifica la posizione di disegno dell'immagine nella classe GameWindow per migliorare l'allineamento 2024-12-23 01:19:33 +01:00
Matteo Benedetto 43e7b143d9 Modifica la dimensione del font nel metodo pause_screen in base alla dimensione del target 2024-12-23 01:18:19 +01:00
Matteo Benedetto 65356a5eaf Ottimizza la gestione della dimensione dello schermo nella classe GameWindow 2024-12-23 01:09:28 +01:00
Matteo Benedetto 97038023d5 Aggiungi supporto per la risoluzione personalizzata e gestione della pausa nel gioco 2024-12-23 00:59:48 +01:00
Matteo Benedetto 42e2f4aa16 Aggiungi il controllo della visibilità per il disegno di immagini e rettangoli nella classe GameWindow 2024-12-22 19:14:50 +01:00
Matteo Benedetto f20e789d80 Modifica la gestione del ritardo nella classe GameWindow e ripristina l'uso di subprocess per la riproduzione audio in MiceMaze 2024-12-22 18:54:26 +01:00
Matteo Benedetto 8cffd7591a Rimuovi l'inizializzazione audio dalla classe GameWindow 2024-12-22 18:49:07 +01:00
Matteo Benedetto c6589caaa4 Rimuovi l'inizializzazione audio dalla classe GameWindow 2024-12-22 18:45:08 +01:00
Matteo Benedetto 7c772f4964 Rimuovi la duplicazione dell'inizializzazione audio nella finestra di gioco 2024-12-22 18:41:32 +01:00
Matteo Benedetto d8b02589fd Rimuovi l'impostazione del driver video SDL nell'inizializzazione della finestra di gioco 2024-12-22 18:39:18 +01:00
Matteo Benedetto e426ca7091 Rimuovi la duplicazione dell'inizializzazione della finestra di gioco 2024-12-22 18:33:37 +01:00
Matteo Benedetto 65b88dbac5 Imposta il driver video SDL su "x11" e ripristina l'inizializzazione audio nel gioco 2024-12-22 18:30:37 +01:00
Matteo Benedetto d1f8548702 Disabilita l'inizializzazione audio e la riproduzione dei suoni nel gioco 2024-12-22 18:22:45 +01:00
Matteo Benedetto 3ecc1aa134 Imposta il titolo predefinito della finestra di gioco su "Default" 2024-12-22 18:20:35 +01:00
Matteo Benedetto 3f513f1f19 Aggiungi gestione dei controlli da tastiera e migliora la logica di spawn delle unità 2024-12-22 18:12:45 +01:00
Matteo Benedetto 4947b91ae2 Aggiungi supporto per input da tastiera con codici ASCII nel gioco 2024-12-22 01:33:03 +01:00
Matteo Benedetto 791e94bcae Semplifica la gestione degli eventi del joystick rimuovendo l'apertura e la chiusura del joystick 2024-12-22 01:23:08 +01:00