Skip to content

sysnuts/simonGame_embeddedSystemsProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simon Game - Progetto di Sistemi Embedded

Anno Accademico: 2025-2026
Tecnologie usate: Kotlin + Jetpack Compose

Ambiente di Sviluppo e Testing

  • Target emulatore: Dispositivo virtuale Android ("Medium Phone" in Android Studio) con API 37.0.

Architettura e Scelte Progettuali Principali

  • ViewModel & SavedStateHandle: Separazione della logica di business dalla UI. Lo stato del gioco è interamente preservato tramite SavedStateHandle per garantire la continuità della sequenza del computer anche durante i cambi di configurazione hardware (rotazione Portrait/Landscape).
  • Efficienza nella gestione delle Risorse: Uso di collectAsStateWithLifecycle() per leggere variazioni di stato, prevenendo leak in background. Inoltre, viene fatto un monitoraggio attivo del ciclo di vita (Lifecycle) controllando il flag isChangingConfigurations per distinguere i cambi di formato visivo (non distruttivi per l'app) dalle messe in background (sospensione delle coroutine).
  • Sintesi Audio Low-Level: Generazione d'onda sinusoidale e additiva nativa in formato PCM a 16-bit tramite AudioTrack, evitando dipendenze esterne. Le onde hanno rampe di dissolvenza logaritmica (fade-in/out) per garantire un'alta fedeltà e stabilità del suono ai click rapidi, rispettando il feeling retro del gioco.
  • Persistenza: Salvataggio asincrono della cronologia dei match interamente basato sul framework Room Database.

Nota sulla riproduzione audio in Emulatore

Si segnala che durante l'esecuzione su un emulatore, a causa dell'overhead intrinseco di virtualizzazione del sottosistema audio lato hardware, potrebbero verificarsi isolati fenomeni di latenza o micro-clipping acustico (apparente " gracchiare"). I test effettuati su dispositivi fisici reali confermano invece una riproduzione audio perfetta e priva di latenza, fedele alle note calcolate matematicamente dal sistema.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages