diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 2977a79ec75c314ada6eb1fc5bedd05f416a111e..6f2b23891626bd1e91cfee5bf72383dbd9a530d3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -14,7 +14,8 @@
         tools:targetApi="31" >
         <activity
             android:name=".MainActivity"
-            android:exported="true" >
+            android:exported="true"
+            android:screenOrientation="portrait">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.LAUNCHER" />
diff --git a/app/src/main/java/com/example/ellegadodepintia/ListaMinijuegos.kt b/app/src/main/java/com/example/ellegadodepintia/ListaMinijuegos.kt
index 2f17a0b18ac5e3e004f0357cb793602495f18535..6749bd492623e4e3c95f7e0dae5945f9a926c492 100644
--- a/app/src/main/java/com/example/ellegadodepintia/ListaMinijuegos.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/ListaMinijuegos.kt
@@ -21,6 +21,8 @@ class ListaMinijuegos : AppCompatActivity(){
         val minijuego1Layout = findViewById<FrameLayout>(R.id.minijuego1)
         minijuego1Layout.setOnClickListener {
             val intent = Intent(this, InicioMinijuego1::class.java)
+            val flag = true
+            intent.putExtra("FLAG_KEY", flag)
             startActivity(intent)
         }
 
diff --git a/app/src/main/java/com/example/ellegadodepintia/MapActivity.kt b/app/src/main/java/com/example/ellegadodepintia/MapActivity.kt
index 97158bf5ec9239962714eb0f81265df75c5a5660..15a5caddaeba33ed92bb9fc5c7740898139e9a1a 100644
--- a/app/src/main/java/com/example/ellegadodepintia/MapActivity.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/MapActivity.kt
@@ -3,7 +3,10 @@ package com.example.ellegadodepintia
 import android.content.Intent
 import android.graphics.Color
 import android.os.Bundle
+import android.util.DisplayMetrics
+import android.view.View
 import android.widget.ImageButton
+import android.widget.RelativeLayout
 import android.widget.TextView
 import androidx.appcompat.app.AppCompatActivity
 import com.example.ellegadodepintia.exploradoresDePintia.ExploradoresDePintia
@@ -14,9 +17,8 @@ class MapActivity : AppCompatActivity() {
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         setContentView(R.layout.activity_map)
-
         GameState.jugador.addObserver { actualizarMonedas() }
-
+        ajustarPosiciones()
         val mapButton: ImageButton= findViewById(R.id.mapButton)
         val leaderboardButton: ImageButton = findViewById(R.id.leaderboardButton)
         val shopButton: ImageButton = findViewById(R.id.shopButton)
@@ -60,4 +62,65 @@ class MapActivity : AppCompatActivity() {
     private fun actualizarMonedas(){
         GameState.jugador.monedas.toString().also { findViewById<TextView>(R.id.moneyText).text = it }
     }
+
+    private fun ajustarPosiciones() {
+        // Dimensiones de la pantalla original
+        val originalWidth = 1080f
+        val originalHeight = 2285f
+
+        // Obtener las dimensiones actuales de la pantalla
+        val displayMetrics = DisplayMetrics()
+        windowManager.defaultDisplay.getMetrics(displayMetrics)
+        val currentWidth = displayMetrics.widthPixels.toFloat()
+        val currentHeight = displayMetrics.heightPixels.toFloat()
+        val density = displayMetrics.density // Densidad de la pantalla actual
+
+        // Calcular la proporción de la pantalla actual respecto a la original
+        val widthRatio = currentWidth / originalWidth
+        val heightRatio = currentHeight / originalHeight
+
+        // Ajustar los botones con el ratio de proporción
+        ajustarBoton(findViewById(R.id.botonAventura), 55f, 65f, 199f, 140f, widthRatio, heightRatio, density)
+        ajustarBoton(findViewById(R.id.botonTaberna), 169f, 380f, 168f, 127f, widthRatio, heightRatio, density)
+        ajustarBoton(findViewById(R.id.botonTienda), -1f, 422f, 148f, 127f, widthRatio, heightRatio, density)
+        ajustarBoton(findViewById(R.id.botonArmeria), 199f, 540f, 192f, 145f, widthRatio, heightRatio, density)
+        ajustarBoton(findViewById(R.id.botonEntrenar), 241f, 226f, 170f, 125f, widthRatio, heightRatio, density)
+    }
+
+    private fun ajustarBoton(
+        button: View,
+        originalX: Float,  // Margen Start original en dp
+        originalY: Float,  // Margen Bottom original en dp
+        originalWidth: Float,  // Ancho original en dp
+        originalHeight: Float, // Alto original en dp
+        widthRatio: Float,
+        heightRatio: Float,
+        density: Float
+    ) {
+        val params = button.layoutParams as RelativeLayout.LayoutParams
+
+        // Ajustar las posiciones según el ratio de la pantalla
+        val newMarginStart = (originalX * widthRatio * density).toInt() // Ajustamos la posición X
+        val newBottomMargin = (originalY * heightRatio * density).toInt() // Ajustamos la posición Y (Bottom)
+
+        // Ajustar el tamaño según el ratio de la pantalla
+        val newWidth = (originalWidth * widthRatio * density).toInt()
+        val newHeight = (originalHeight * heightRatio * density).toInt()
+
+        // Establecer tamaños mínimos y máximos
+        val minSizePx = (48 * density).toInt() // Tamaño mínimo de 48dp en píxeles
+        val maxSizePx = (300 * density).toInt() // Tamaño máximo de 300dp en píxeles
+
+        // Aplicar los nuevos márgenes y tamaños
+        params.marginStart = newMarginStart
+        params.bottomMargin = newBottomMargin
+        params.width = newWidth.coerceIn(minSizePx, maxSizePx) // Tamaño mínimo y máximo
+        params.height = newHeight.coerceIn(minSizePx, maxSizePx) // Tamaño mínimo y máximo
+
+        // Aplicar los parámetros ajustados al botón
+        button.layoutParams = params
+    }
+
+
+
 }
diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ExploradoresDePintia.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ExploradoresDePintia.kt
index 672d853c1d29d9d0186ce5e4a0fc72ddbe1b9116..08205666ec0e337310bc10c1c534bfe2e889ec0c 100644
--- a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ExploradoresDePintia.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ExploradoresDePintia.kt
@@ -148,4 +148,10 @@ class ExploradoresDePintia : AppCompatActivity() {
             true
         }
     }
+    override fun onBackPressed() {
+        val flag = intent.getBooleanExtra("FLAG_KEY", false)
+        if (flag){
+            super.onBackPressed()
+        }
+    }
 }
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 4818bfd175495b3f2238a47bc031ee8ed0769214..5b12fc6caabef47f20a8a037a61b04315d78c37e 100644
--- a/app/src/main/java/com/example/ellegadodepintia/minijuego1/InicioMinijuego1.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/minijuego1/InicioMinijuego1.kt
@@ -43,7 +43,14 @@ class InicioMinijuego1 : AppCompatActivity() {
             modal.show(supportFragmentManager, "ModalFragment")
         }
     }
+    override fun onBackPressed() {
+        val flag = intent.getBooleanExtra("FLAG_KEY", false)
+        if (flag){
+            super.onBackPressed()
+        }
+    }
 }
+
 class ModalFragment : DialogFragment() {
 
     override fun onCreateView(
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 020b372f73ea23569f5d70eb316feabf845178b1..ef0da19ec0e9b1b93c8670f5d42884bbc90ebcba 100644
--- a/app/src/main/java/com/example/ellegadodepintia/minijuego1/Minijuego1.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/minijuego1/Minijuego1.kt
@@ -157,6 +157,12 @@ class Minijuego1 : AppCompatActivity() {
         handler.removeCallbacksAndMessages(null)
         soundManager.stopSound()
     }
+    override fun onBackPressed() {
+        val flag = intent.getBooleanExtra("FLAG_KEY", false)
+        if (flag){
+            super.onBackPressed()
+        }
+    }
 
     // Mostrar partículas o animación en la posición del botón tocado
     private fun mostrarParticulas(x: Float, y: Float, esHueso: Boolean) {
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 47bab3daae87044dec634242d2315dc6c4751214..fedfcc2213a58fbb6089cc8c6702a02110455cf6 100644
--- a/app/src/main/java/com/example/ellegadodepintia/minijuego2/Minijuego2.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/minijuego2/Minijuego2.kt
@@ -1,24 +1,24 @@
 package com.example.ellegadodepintia.minijuego2
 
 import android.content.Intent
+import android.graphics.drawable.AnimationDrawable
 import android.os.Bundle
 import android.os.Handler
 import android.os.Looper
+import android.view.LayoutInflater
 import android.view.MotionEvent
 import android.view.View
+import android.view.ViewGroup
+import android.view.animation.AnimationUtils
+import android.widget.Button
 import android.widget.ImageView
 import android.widget.RelativeLayout
 import android.widget.TextView
 import androidx.appcompat.app.AppCompatActivity
-import kotlin.random.Random
-import android.graphics.drawable.AnimationDrawable
-import android.view.LayoutInflater
-import android.view.ViewGroup
-import android.view.animation.AnimationUtils
-import android.widget.Button
 import androidx.fragment.app.DialogFragment
 import com.example.ellegadodepintia.R
 import com.example.ellegadodepintia.soundManager.SoundManager
+import kotlin.random.Random
 
 class Minijuego2 : AppCompatActivity() {
 
@@ -317,6 +317,12 @@ class Minijuego2 : AppCompatActivity() {
         super.onPause()
         soundManager.stopSound()
     }
+    override fun onBackPressed() {
+        val flag = intent.getBooleanExtra("FLAG_KEY", false)
+        if (flag){
+            super.onBackPressed()
+        }
+    }
 
 }
 class ModalFragment : DialogFragment() {
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 45e97d40f305dc4df0dc2ca671eab946c2b4dbd3..08cc887f197226add93899f80a6be52ac4b597c0 100644
--- a/app/src/main/java/com/example/ellegadodepintia/minijuego3/Minijuego3.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/minijuego3/Minijuego3.kt
@@ -212,23 +212,21 @@ class Minijuego3 : AppCompatActivity() {
     }
 
     private fun mostrarGameOver(mensaje: String) {
-        Toast.makeText(this, mensaje, Toast.LENGTH_SHORT).show()
+        Toast.makeText(this, mensaje, Toast.LENGTH_SHORT) .show()
         botonVolver.visibility = ImageView.VISIBLE
-        botonVolver.setOnClickListener{
+        val flag = intent.getBooleanExtra("FLAG_KEY", false)
+        if(!flag){
             val resultadoIntent = Intent()
             resultadoIntent.putExtra("TIEMPO", tiempoRestante.toString())
             println(tiempoRestante)
             setResult(RESULT_OK, resultadoIntent)
             finish()
         }
+
         gridLayout.removeAllViews()
     }
 
-    override fun onBackPressed() {
-        cuentraAtras?.cancel()
-        tiempoCorriendo = false
-        super.onBackPressed()
-    }
+
 
     private fun girarCarta(button: Button, imageResId: Int, isReversing: Boolean = false) {
         val scale = applicationContext.resources.displayMetrics.density
@@ -285,6 +283,14 @@ class Minijuego3 : AppCompatActivity() {
         super.onPause()
         soundManager.stopSound()
     }
+    override fun onBackPressed() {
+        val flag = intent.getBooleanExtra("FLAG_KEY", false)
+        if (flag){
+            cuentraAtras?.cancel()
+            tiempoCorriendo = false
+            super.onBackPressed()
+        }
+    }
 }
 class ModalFragment : DialogFragment() {
 
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 ae659a5fba09707f82d778e5133138d49d74e1b7..4f2b605c58585faed000f5e32c4128362101c3a0 100644
--- a/app/src/main/java/com/example/ellegadodepintia/minijuegoInvestigacion/MinijuegoInvestigar.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/minijuegoInvestigacion/MinijuegoInvestigar.kt
@@ -207,4 +207,10 @@ class MinijuegoInvestigar : AppCompatActivity() {
         super.onPause()
         soundManager.stopSound()
     }
+    override fun onBackPressed() {
+        val flag = intent.getBooleanExtra("FLAG_KEY", false)
+        if (flag){
+            super.onBackPressed()
+        }
+    }
 }
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 a2db6ac1566fc7b9c7454d08dcf29d0a8beff288..86a54407677b02c9d6bee2dfbdfab7415cfd4d91 100644
--- a/app/src/main/java/com/example/ellegadodepintia/minijuegoReparacion/MinijuegoReparacion.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/minijuegoReparacion/MinijuegoReparacion.kt
@@ -296,4 +296,10 @@ class MinijuegoReparacion : AppCompatActivity() {
         var screenHeight = metrics.heightPixels
         return (value * screenHeight) / 2285
     }
+    override fun onBackPressed() {
+        val flag = intent.getBooleanExtra("FLAG_KEY", false)
+        if (flag){
+            super.onBackPressed()
+        }
+    }
 }
diff --git a/app/src/main/res/layout/activity_armeria.xml b/app/src/main/res/layout/activity_armeria.xml
index d83f1fccffe7afd90f58d4c034fa9585a8d8e370..7d95bdca2f808008d239f683b955f57908cbf9c1 100644
--- a/app/src/main/res/layout/activity_armeria.xml
+++ b/app/src/main/res/layout/activity_armeria.xml
@@ -14,6 +14,20 @@
         android:src="@drawable/background_armeria"
         android:scaleType="centerCrop" />
 
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:fillViewport="true"
+        android:layout_marginBottom="60dp"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent">
+
+    <LinearLayout
+        android:id="@+id/mainArea"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center"
+        android:orientation="vertical">
     <ImageView
         android:id="@+id/tituloJuego"
         android:layout_width="wrap_content"
@@ -448,6 +462,8 @@
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintEnd_toEndOf="parent"/>
 
+    </LinearLayout>
+    </ScrollView>
     <LinearLayout
         android:id="@+id/bottom_navigation"
         style="?android:attr/buttonBarStyle"
diff --git a/app/src/main/res/layout/activity_taberna.xml b/app/src/main/res/layout/activity_taberna.xml
index 23dcc7b21da799ec172b494c08767118f3378984..1530f40de36c94ac5d21daceaa14b6a2c55fa286 100644
--- a/app/src/main/res/layout/activity_taberna.xml
+++ b/app/src/main/res/layout/activity_taberna.xml
@@ -14,6 +14,20 @@
         android:src="@drawable/background_taberna"
         android:scaleType="centerCrop" />
 
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:fillViewport="true"
+        android:layout_marginBottom="60dp"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent">
+
+    <LinearLayout
+        android:id="@+id/mainArea"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center"
+        android:orientation="vertical">
     <ImageView
         android:id="@+id/tituloJuego"
         android:layout_width="wrap_content"
@@ -100,7 +114,8 @@
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toBottomOf="@id/textoInformacion"/>
-
+    </LinearLayout>
+    </ScrollView>
     <LinearLayout
         android:id="@+id/bottom_navigation"
         style="?android:attr/buttonBarStyle"
diff --git a/app/src/main/res/layout/activity_tienda.xml b/app/src/main/res/layout/activity_tienda.xml
index 3d00ebadc41e064a2cf90b2d739e374ecc12f025..97a20b6e8872269f02eeb0034d7139804ad49980 100644
--- a/app/src/main/res/layout/activity_tienda.xml
+++ b/app/src/main/res/layout/activity_tienda.xml
@@ -14,6 +14,20 @@
         android:src="@drawable/background_tienda"
         android:scaleType="centerCrop" />
 
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:fillViewport="true"
+        android:layout_marginBottom="60dp"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent">
+
+        <LinearLayout
+            android:id="@+id/mainArea"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:gravity="center"
+            android:orientation="vertical">
     <ImageView
         android:id="@+id/tituloJuego"
         android:layout_width="wrap_content"
@@ -447,7 +461,8 @@
         app:layout_constraintTop_toBottomOf="@id/textoInformacion"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintEnd_toEndOf="parent"/>
-
+    </LinearLayout>
+    </ScrollView>
     <LinearLayout
         android:id="@+id/bottom_navigation"
         style="?android:attr/buttonBarStyle"