diff --git a/app/src/main/java/com/example/ellegadodepintia/minijuego1/InicioMinijuego1.kt b/app/src/main/java/com/example/ellegadodepintia/minijuego1/InicioMinijuego1.kt index deb9e0c0d20ce8ee0fb172ac814bf6536a151000..9f987e3ef5f6881201f706a09532d54458c97d55 100644 --- a/app/src/main/java/com/example/ellegadodepintia/minijuego1/InicioMinijuego1.kt +++ b/app/src/main/java/com/example/ellegadodepintia/minijuego1/InicioMinijuego1.kt @@ -6,12 +6,13 @@ import android.widget.ImageView import androidx.appcompat.app.AppCompatActivity import com.example.ellegadodepintia.R import android.view.animation.AnimationUtils - +import com.example.ellegadodepintia.soundManager.SoundManager class InicioMinijuego1 : AppCompatActivity() { private lateinit var titulo: ImageView - + private lateinit var soundManager: SoundManager override fun onCreate(savedInstanceState: Bundle?) { + soundManager = SoundManager(this) super.onCreate(savedInstanceState) setContentView(R.layout.activity_iniciominijuego1) @@ -23,7 +24,7 @@ class InicioMinijuego1 : AppCompatActivity() { // Define el comportamiento cuando se hace clic en el botón startButton.setOnClickListener { - + soundManager.playSound(R.raw.sound_button,100) // Intent para iniciar una nueva actividad (supongamos que tienes una Activity llamada GameActivity) val intent = Intent(this, Minijuego1::class.java) startActivity(intent) diff --git a/app/src/main/java/com/example/ellegadodepintia/minijuego1/Minijuego1.kt b/app/src/main/java/com/example/ellegadodepintia/minijuego1/Minijuego1.kt index 133e68c18b57592c641428b0d6d7eb47b607b3cf..37ee84023018c53dff76bf151e5d3124bdf50488 100644 --- a/app/src/main/java/com/example/ellegadodepintia/minijuego1/Minijuego1.kt +++ b/app/src/main/java/com/example/ellegadodepintia/minijuego1/Minijuego1.kt @@ -47,7 +47,7 @@ class Minijuego1 : AppCompatActivity() { // Función principal para iniciar el juego private fun iniciarJuego() { - soundManager.playSoundLoop(R.raw.sound_cueva) + soundManager.playSoundLoop(R.raw.sound_cueva,100) handler.postDelayed(object : Runnable { override fun run() { agregarBoton() @@ -160,7 +160,7 @@ class Minijuego1 : AppCompatActivity() { // Mostrar partÃculas o animación en la posición del botón tocado private fun mostrarParticulas(x: Float, y: Float, esHueso: Boolean) { if (esHueso) { - soundManager.playSound(R.raw.sound_huesito) // Usando el SoundManager + soundManager.playSound(R.raw.sound_huesito,100) // Usando el SoundManager // Mostrar partÃculas si es un hueso val cantidadParticulas = Random.nextInt(5, 11) for (i in 0 until cantidadParticulas) { @@ -196,7 +196,7 @@ class Minijuego1 : AppCompatActivity() { } } else { val explosionView = ImageView(this) - soundManager.playSound(R.raw.sound_bomba) // Usando el SoundManager + soundManager.playSound(R.raw.sound_bomba,100) // Usando el SoundManager explosionView.setBackgroundResource(R.drawable.effect_reparar_animation) val params = FrameLayout.LayoutParams(300, 300) params.leftMargin = x.toInt() - 150 diff --git a/app/src/main/java/com/example/ellegadodepintia/minijuego2/Minijuego2.kt b/app/src/main/java/com/example/ellegadodepintia/minijuego2/Minijuego2.kt index 73ac82dc98f59c1eed6300e15a212822a0c1c089..c554c42ab43e8e18dd0a26cb55144ae8dfc6cc0b 100644 --- a/app/src/main/java/com/example/ellegadodepintia/minijuego2/Minijuego2.kt +++ b/app/src/main/java/com/example/ellegadodepintia/minijuego2/Minijuego2.kt @@ -77,6 +77,7 @@ class Minijuego2 : AppCompatActivity() { private fun configurarBotonIniciar() { botonIniciar.setOnClickListener { + soundManager.playSound(R.raw.sound_button,100) iniciarJuego() protagonista.y = (layout.height / 2).toFloat() fondo2.x = fondo1.x + fondo1.width * 4 @@ -101,7 +102,7 @@ class Minijuego2 : AppCompatActivity() { } private fun iniciarJuego() { - soundManager.playSoundLoop(R.raw.sound_nubes) + soundManager.playSoundLoop(R.raw.sound_nubes,100) ocultarElementosInicioYMostrarProtagonista() inicializarJuego() iniciarBucleJuego() @@ -247,7 +248,7 @@ class Minijuego2 : AppCompatActivity() { private fun detenerJuego() { jugando = false soundManager.stopSound() - soundManager.playSound(R.raw.sound_over) + soundManager.playSound(R.raw.sound_over,100) protagonista.clearAnimation() val animacionMuerte = AnimationUtils.loadAnimation(this, R.anim.caida) obstacleTimer?.let { handler.removeCallbacks(it) } // Detener el temporizador de obstáculos @@ -265,6 +266,7 @@ class Minijuego2 : AppCompatActivity() { private fun reiniciarJuego() { // Reiniciar variables del juego puntuacion = 0 + soundManager.playSound(R.raw.sound_button, 100) velObs = 10f puntuacionTextView.text = "Puntuación: $puntuacion" protagonista.y = (layout.height / 2).toFloat() // Reiniciar posición del protagonista @@ -288,4 +290,8 @@ class Minijuego2 : AppCompatActivity() { fondo2.x = fondo1.x + fondo1.width * 4 } } + override fun onPause() { + super.onPause() + soundManager.stopSound() + } } diff --git a/app/src/main/java/com/example/ellegadodepintia/minijuego3/Minijuego3.kt b/app/src/main/java/com/example/ellegadodepintia/minijuego3/Minijuego3.kt index d26493e33ec3e0245e840660ed58a23ef4b94228..6e2c1cad2d20e11697ab62d27bff3bb70417e7d0 100644 --- a/app/src/main/java/com/example/ellegadodepintia/minijuego3/Minijuego3.kt +++ b/app/src/main/java/com/example/ellegadodepintia/minijuego3/Minijuego3.kt @@ -20,6 +20,7 @@ import android.graphics.ColorMatrix import android.graphics.ColorMatrixColorFilter import com.example.ellegadodepintia.MapActivity import com.example.ellegadodepintia.R +import com.example.ellegadodepintia.soundManager.SoundManager class Minijuego3 : AppCompatActivity() { private lateinit var portadaLayout: LinearLayout @@ -27,7 +28,7 @@ class Minijuego3 : AppCompatActivity() { private lateinit var gridLayout: GridLayout private lateinit var cronometroTextView: TextView private lateinit var botonVolver: ImageView; - + private lateinit var soundManager: SoundManager private var botonesCarta = mutableListOf<Button>() private var cartas = mutableListOf<Carta>() private var primieraCarta: Carta? = null @@ -38,10 +39,13 @@ class Minijuego3 : AppCompatActivity() { private var tiempoCorriendo = false override fun onCreate(savedInstanceState: Bundle?) { + soundManager = SoundManager(this) + super.onCreate(savedInstanceState) setContentView(R.layout.activity_minijuego3) inizializarVistas() setupBotonStart() + } private fun inizializarVistas() { @@ -55,6 +59,8 @@ class Minijuego3 : AppCompatActivity() { private fun setupBotonStart() { botonIniciar.setOnClickListener { esconderPortada() + soundManager.playSound(R.raw.sound_button,100) + soundManager.playSoundLoop(R.raw.sound_memory,100) iniciarJuego() } } @@ -104,6 +110,7 @@ class Minijuego3 : AppCompatActivity() { actualizarContador() } override fun onFinish() { + soundManager.stopSound() mostrarGameOver("¡Has perdido!") } }.start() @@ -119,6 +126,7 @@ class Minijuego3 : AppCompatActivity() { private fun cartaClickada(position: Int) { if (procesandose) return + soundManager.playSound(R.raw.sound_cardflip,100) val carta = cartas[position] val button = botonesCarta[position] if (carta.isFaceUp || carta.isMatched) return @@ -132,6 +140,7 @@ class Minijuego3 : AppCompatActivity() { procesandose = true comprobarMatch() } + } private fun comprobarMatch() { @@ -147,6 +156,7 @@ class Minijuego3 : AppCompatActivity() { segundaCarta?.let { card -> val button = botonesCarta[cartas.indexOf(card)] iluminarCarta(button)} + soundManager.playSound(R.raw.sound_match,100) } else { primieraCarta?.let { card -> val button = botonesCarta[cartas.indexOf(card)] @@ -157,18 +167,22 @@ class Minijuego3 : AppCompatActivity() { val button = botonesCarta[cartas.indexOf(card)] card.isFaceUp = false girarCarta(button, R.drawable.asi_minijuego_3_trasero, isReversing = true) + } + soundManager.playSound(R.raw.sound_cardflip,100) } primieraCarta = null segundaCarta = null procesandose = false comprobarFinJuego() + }, 1000) } private fun comprobarFinJuego() { if (cartas.all { it.isMatched }) { + soundManager.stopSound() tiempoCorriendo = false cuentraAtras?.cancel() mostrarGameOver("¡Has ganado!") @@ -233,17 +247,24 @@ class Minijuego3 : AppCompatActivity() { } private fun voltearCartas() { + soundManager.playSound(R.raw.sound_cardflip,100) botonesCarta.forEachIndexed { index, button -> val card = cartas[index] card.isFaceUp = true girarCarta(button, card.imageResId) } Handler(Looper.getMainLooper()).postDelayed({ + soundManager.playSound(R.raw.sound_cardflip,100) botonesCarta.forEachIndexed { index, button -> val card = cartas[index] card.isFaceUp = false girarCarta(button, R.drawable.asi_minijuego_3_trasero, isReversing = true) + } }, 2000) } + override fun onPause() { + super.onPause() + soundManager.stopSound() + } } diff --git a/app/src/main/java/com/example/ellegadodepintia/minijuegoInvestigacion/MinijuegoInvestigar.kt b/app/src/main/java/com/example/ellegadodepintia/minijuegoInvestigacion/MinijuegoInvestigar.kt index 9db21e2ff72933a965aeccbcd70e9a9e077a3a64..ae659a5fba09707f82d778e5133138d49d74e1b7 100644 --- a/app/src/main/java/com/example/ellegadodepintia/minijuegoInvestigacion/MinijuegoInvestigar.kt +++ b/app/src/main/java/com/example/ellegadodepintia/minijuegoInvestigacion/MinijuegoInvestigar.kt @@ -16,13 +16,14 @@ import androidx.appcompat.app.AppCompatActivity import com.example.ellegadodepintia.R import com.example.ellegadodepintia.exploradoresDePintia.model.GameState import kotlin.random.Random +import com.example.ellegadodepintia.soundManager.SoundManager class MinijuegoInvestigar : AppCompatActivity() { private lateinit var parte1: ImageView private lateinit var parte2: ImageView private lateinit var parte3: ImageView private lateinit var parte4: ImageView - + private lateinit var soundManager: SoundManager private var inicio = false private var rotando = false private var ultimoClick: Long = 0 @@ -30,6 +31,8 @@ class MinijuegoInvestigar : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + soundManager = SoundManager(this) + soundManager.playSoundLoop(R.raw.sound_memory,80) setContentView(R.layout.activity_minijuego_investigar) inicio = false val flag = intent.getBooleanExtra("FLAG_KEY", false) // Si no se encuentra el extra, se usa el valor por defecto (false) @@ -128,6 +131,7 @@ class MinijuegoInvestigar : AppCompatActivity() { private fun rotarImagen(imageView: ImageView, originalBitmap: Bitmap) { if(!rotando || !inicio) { rotando = true + soundManager.playSound(R.raw.sound_button,100) val anguloActual = angulosRotacion[imageView] ?: 0 val nuevoAngulo = (anguloActual + 90) val rotateAnimator = ObjectAnimator.ofFloat( @@ -180,6 +184,7 @@ class MinijuegoInvestigar : AppCompatActivity() { val resultIntent = Intent() resultIntent.putExtra("resultado", "Investigación completada") setResult(Activity.RESULT_OK, resultIntent) + soundManager.stopSound() finish() } @@ -198,4 +203,8 @@ class MinijuegoInvestigar : AppCompatActivity() { } animator.start() } + override fun onPause() { + super.onPause() + soundManager.stopSound() + } } diff --git a/app/src/main/java/com/example/ellegadodepintia/minijuegoReparacion/MinijuegoReparacion.kt b/app/src/main/java/com/example/ellegadodepintia/minijuegoReparacion/MinijuegoReparacion.kt index e13ad4ce8ceacedf990ccd1fd9288b5db6dbc542..461e9968e8284072f4628e23a8475df900d6ac04 100644 --- a/app/src/main/java/com/example/ellegadodepintia/minijuegoReparacion/MinijuegoReparacion.kt +++ b/app/src/main/java/com/example/ellegadodepintia/minijuegoReparacion/MinijuegoReparacion.kt @@ -6,7 +6,6 @@ import android.graphics.Bitmap import android.graphics.BitmapFactory import android.graphics.Rect import android.graphics.drawable.AnimationDrawable -import android.graphics.drawable.Drawable import android.os.Bundle import android.widget.ImageView import android.widget.RelativeLayout @@ -17,18 +16,23 @@ import android.os.Looper import android.view.animation.LinearInterpolator import com.example.ellegadodepintia.exploradoresDePintia.model.GameState import kotlin.random.Random +import com.example.ellegadodepintia.soundManager.SoundManager class MinijuegoReparacion : AppCompatActivity() { private lateinit var fragmentos: List<Fragmento> + private lateinit var soundManager: SoundManager private val filas = 5 private val columnas = 5 private var clics = 5 private var intervaloDeAngulo = Pair(0f, 0f) + var stop = false val handler = Handler() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + soundManager = SoundManager(this) + soundManager.playSoundLoop(R.raw.sound_worso,100) setContentView(R.layout.activity_minijuego_reparacion) var imagenOriginal: Bitmap? = null val flag = intent.getBooleanExtra("FLAG_KEY", false) @@ -126,6 +130,7 @@ class MinijuegoReparacion : AppCompatActivity() { data class Fragmento(val bitmap: Bitmap, val fila: Int, val columna: Int, var xPos: Int = 0, var yPos: Int = 0, var rotation: Float = 0f) private fun mostrarQTE(paloImageView: ImageView, ruleImageView: ImageView) { + soundManager.playSound(R.raw.sound_qte,20) val relativeLayout = findViewById<RelativeLayout>(R.id.relativeLayoutFragmentos) var para = false val randomX = Random.nextFloat() * (1050 - 350) @@ -164,12 +169,14 @@ class MinijuegoReparacion : AppCompatActivity() { if (anguloActual % 360 in intervaloDeAngulo.first..intervaloDeAngulo.second) { if (clics > 0) { clics-- + soundManager.playSound(R.raw.sound_reparar,100) reconstruirImagenEnPartes(relativeLayout) } } else { if (clics < 5) { clics++ + soundManager.playSound(R.raw.sound_romper,100) reconstruirImagenEnPartes(relativeLayout) } } @@ -179,7 +186,7 @@ class MinijuegoReparacion : AppCompatActivity() { val handler = Handler(Looper.getMainLooper()) val runnable = object : Runnable { override fun run() { - if (clics == 0) { + if (clics == 0 || stop) { handler.removeCallbacks(this) val relativeLayout = findViewById<RelativeLayout>(R.id.relativeLayoutFragmentos) mostrarNubesDePolvo(relativeLayout,100) @@ -247,6 +254,7 @@ class MinijuegoReparacion : AppCompatActivity() { private fun mostrarMartilloGolpe(relativeLayout: RelativeLayout) { val martilloView = ImageView(this) + martilloView.setImageResource(R.drawable.asi_reparar_martillo) val tamMartillo = Random.nextInt(300, 500) val params = RelativeLayout.LayoutParams(tamMartillo, tamMartillo) @@ -267,7 +275,11 @@ class MinijuegoReparacion : AppCompatActivity() { } .start() } - + override fun onPause() { + super.onPause() + soundManager.stopSound() + stop = true + } } diff --git a/app/src/main/java/com/example/ellegadodepintia/ruleta/Ruleta.kt b/app/src/main/java/com/example/ellegadodepintia/ruleta/Ruleta.kt index 2373abbc2b2eddc36ff7cf7c491713e1156f7522..483aa50615125b987802a8705dcaa7367cb88bbc 100644 --- a/app/src/main/java/com/example/ellegadodepintia/ruleta/Ruleta.kt +++ b/app/src/main/java/com/example/ellegadodepintia/ruleta/Ruleta.kt @@ -15,6 +15,7 @@ import androidx.appcompat.app.AppCompatActivity import androidx.core.animation.doOnEnd import com.example.ellegadodepintia.R import kotlin.random.Random +import com.example.ellegadodepintia.soundManager.SoundManager class Ruleta : AppCompatActivity() { private lateinit var ruletaImage: ImageView @@ -22,6 +23,7 @@ class Ruleta : AppCompatActivity() { private lateinit var titulo: ImageView private lateinit var multiplicadorResultado: TextView private lateinit var puntuacion: TextView + private lateinit var soundManager: SoundManager private val segmentos = arrayOf("x4", "x1", "x2", "x1", "x2", "x1", "x2", "x1") private var ultimaRotacion = 0f @@ -30,10 +32,13 @@ class Ruleta : AppCompatActivity() { // Configura las vistas iniciales de la actividad y establece acciones iniciales override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + soundManager = SoundManager(this) + soundManager.playSoundLoop(R.raw.sound_casino, 80) setContentView(R.layout.activity_ruleta) inicializarVistas() animarTitulo() configurarClickRuleta() + } // Inicializa las vistas del layout asociadas a la ruleta @@ -54,6 +59,7 @@ class Ruleta : AppCompatActivity() { // Configura el evento de clic para que la ruleta gire cuando se presiona private fun configurarClickRuleta() { ruletaImage.setOnClickListener { + soundManager.playSound(R.raw.sound_ruleta,100) girarRuleta() } } @@ -94,6 +100,7 @@ class Ruleta : AppCompatActivity() { puntuacionActual = nuevaPuntuacion if (multiplicador == "x4") { + soundManager.playSound(R.raw.sound_big_win,100) lluviaMonedas() } } @@ -144,4 +151,8 @@ class Ruleta : AppCompatActivity() { doOnEnd { (coin.parent as? ViewGroup)?.removeView(coin) } } } + override fun onPause() { + super.onPause() + soundManager.stopSound() + } } diff --git a/app/src/main/java/com/example/ellegadodepintia/soundManager/SoundManager.kt b/app/src/main/java/com/example/ellegadodepintia/soundManager/SoundManager.kt index a3b416251252282e83d353d9f6f8849e3ae09b73..2c3596c5afa0225727a6214e5ca68d4c69ea9d76 100644 --- a/app/src/main/java/com/example/ellegadodepintia/soundManager/SoundManager.kt +++ b/app/src/main/java/com/example/ellegadodepintia/soundManager/SoundManager.kt @@ -5,36 +5,58 @@ import android.media.MediaPlayer class SoundManager(private val context: Context) { private var mediaPlayer: MediaPlayer? = null + private var loopMediaPlayer: MediaPlayer? = null // MediaPlayer para sonidos en bucle - // Método para reproducir un sonido - fun playSound(soundResource: Int) { - // Inicializa un nuevo MediaPlayer con el recurso de sonido + // Método para reproducir un sonido con ajuste de volumen + fun playSound(soundResource: Int, volume: Int) { + // Asegurarse de que el volumen esté en el rango de 1 a 100 + val adjustedVolume = (volume.coerceIn(1, 100) / 100.0).toFloat() // Convertir a un valor entre 0.0 y 1.0 mediaPlayer = MediaPlayer.create(context, soundResource) - mediaPlayer?.start() // Comienza la reproducción + mediaPlayer?.apply { + setVolume(adjustedVolume, adjustedVolume) // Ajusta el volumen de ambos canales + start() // Comienza la reproducción + } } - // Método para reproducir un sonido en bucle - fun playSoundLoop(soundResource: Int) { - // Inicializa un nuevo MediaPlayer con el recurso de sonido - mediaPlayer = MediaPlayer.create(context, soundResource) - mediaPlayer?.apply { + // Método para reproducir un sonido en bucle con ajuste de volumen + fun playSoundLoop(soundResource: Int, volume: Int) { + // Asegurarse de que el volumen esté en el rango de 1 a 100 + val adjustedVolume = (volume.coerceIn(1, 100) / 100.0).toFloat() // Convertir a un valor entre 0.0 y 1.0 + loopMediaPlayer = MediaPlayer.create(context, soundResource) + loopMediaPlayer?.apply { isLooping = true // Hacer que el sonido se repita en bucle + setVolume(adjustedVolume, adjustedVolume) // Ajusta el volumen de ambos canales start() // Comienza la reproducción } } - // Método para detener el sonido actual + // Método para detener y liberar todos los sonidos fun stopSound() { mediaPlayer?.let { if (it.isPlaying) { it.stop() } + it.reset() // Resetea el MediaPlayer a su estado inicial + it.release() // Libera los recursos del MediaPlayer + } + mediaPlayer = null + + loopMediaPlayer?.let { + if (it.isPlaying) { + it.stop() + } + it.reset() // Resetea el MediaPlayer para el bucle + it.release() // Libera los recursos del MediaPlayer } + loopMediaPlayer = null } // Método para liberar recursos cuando ya no se necesiten más fun release() { mediaPlayer?.release() mediaPlayer = null + + loopMediaPlayer?.release() + loopMediaPlayer = null } } diff --git a/app/src/main/res/raw/sound_big_win.mp3 b/app/src/main/res/raw/sound_big_win.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..54c777ffaa77149e3c6e2e8c2452f9b50780f068 Binary files /dev/null and b/app/src/main/res/raw/sound_big_win.mp3 differ diff --git a/app/src/main/res/raw/sound_button.mp3 b/app/src/main/res/raw/sound_button.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..91613051e506d72bd2573072391a17d1f1a3a2cb Binary files /dev/null and b/app/src/main/res/raw/sound_button.mp3 differ diff --git a/app/src/main/res/raw/sound_cardflip.mp3 b/app/src/main/res/raw/sound_cardflip.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..eaeda2059a250c41323e958baae64bf000274640 Binary files /dev/null and b/app/src/main/res/raw/sound_cardflip.mp3 differ diff --git a/app/src/main/res/raw/sound_casino.mp3 b/app/src/main/res/raw/sound_casino.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..cf827864a5fca57ba4d4314f5e7bd2925294c87b Binary files /dev/null and b/app/src/main/res/raw/sound_casino.mp3 differ diff --git a/app/src/main/res/raw/sound_match.mp3 b/app/src/main/res/raw/sound_match.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..b1e2ee93e820f3841e4248c38d294313b5c7a938 Binary files /dev/null and b/app/src/main/res/raw/sound_match.mp3 differ diff --git a/app/src/main/res/raw/sound_memory.mp3 b/app/src/main/res/raw/sound_memory.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..29cfcc171788afb72ae41db914d7ac9c168d9e5e Binary files /dev/null and b/app/src/main/res/raw/sound_memory.mp3 differ diff --git a/app/src/main/res/raw/sound_qte.mp3 b/app/src/main/res/raw/sound_qte.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..ee265a372e49971e5af0a6e1523dc5983f4b6375 Binary files /dev/null and b/app/src/main/res/raw/sound_qte.mp3 differ diff --git a/app/src/main/res/raw/sound_reparar.mp3 b/app/src/main/res/raw/sound_reparar.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..abbddd5e1f17bd5245b3b2a70f9df6321c533a36 Binary files /dev/null and b/app/src/main/res/raw/sound_reparar.mp3 differ diff --git a/app/src/main/res/raw/sound_romper.mp3 b/app/src/main/res/raw/sound_romper.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..16875e61d69e43bcdf11d7b5279c8d9e2baf8bb4 Binary files /dev/null and b/app/src/main/res/raw/sound_romper.mp3 differ diff --git a/app/src/main/res/raw/sound_ruleta.mp3 b/app/src/main/res/raw/sound_ruleta.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..1f6ffc432fd8a8074f8ec6475c3a574d599883d8 Binary files /dev/null and b/app/src/main/res/raw/sound_ruleta.mp3 differ diff --git a/app/src/main/res/raw/sound_worso.mp3 b/app/src/main/res/raw/sound_worso.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..004bdc26f43fadd521c734f6f62b463f629430b7 Binary files /dev/null and b/app/src/main/res/raw/sound_worso.mp3 differ