From 29d70cd94f572031484b169a8cae3284d8067f35 Mon Sep 17 00:00:00 2001
From: izajime <izanmario8@gmail.com>
Date: Wed, 20 Nov 2024 18:21:27 +0100
Subject: [PATCH] Feature: La tienda tiene objetos aleatorios

---
 .../example/ellegadodepintia/TiendaActivity.kt | 18 ++++++++++++++++++
 .../repositorios/RepositorioObjetos.kt         |  5 +++--
 app/src/main/res/layout/activity_tienda.xml    | 12 ++++++------
 3 files changed, 27 insertions(+), 8 deletions(-)

diff --git a/app/src/main/java/com/example/ellegadodepintia/TiendaActivity.kt b/app/src/main/java/com/example/ellegadodepintia/TiendaActivity.kt
index a628326..6db47be 100644
--- a/app/src/main/java/com/example/ellegadodepintia/TiendaActivity.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/TiendaActivity.kt
@@ -1,11 +1,29 @@
 package com.example.ellegadodepintia
 
 import android.os.Bundle
+import android.widget.ImageView
 import androidx.appcompat.app.AppCompatActivity
+import com.example.ellegadodepintia.repositorios.RepositorioObjetos
 
 class TiendaActivity : AppCompatActivity() {
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         setContentView(R.layout.activity_tienda)
+
+        val objetos = RepositorioObjetos.obtenerObjetosAleatoriosTienda(6)
+
+        //TODO hay que hacer que dependiendo del nivel de la ciudad haga más cosas
+        val slots = listOf(
+            findViewById<ImageView>(R.id.slot01),
+            findViewById(R.id.slot02),
+            findViewById(R.id.slot03),
+            findViewById(R.id.slot04),
+            findViewById(R.id.slot05),
+            findViewById(R.id.slot06)
+        )
+
+        slots.forEachIndexed { index, slot ->
+            slot.setImageResource(objetos[index].imagen)
+        }
     }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/example/ellegadodepintia/repositorios/RepositorioObjetos.kt b/app/src/main/java/com/example/ellegadodepintia/repositorios/RepositorioObjetos.kt
index a66ce4e..754dcc3 100644
--- a/app/src/main/java/com/example/ellegadodepintia/repositorios/RepositorioObjetos.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/repositorios/RepositorioObjetos.kt
@@ -79,7 +79,8 @@ object RepositorioObjetos {
         return objetos[nombre]
     }
 
-    fun obtenerObjetosAleatorios(cantidad: Int): List<Objeto> {
-        return objetos.values.shuffled().take(cantidad)
+    fun obtenerObjetosAleatoriosTienda(cantidad: Int): List<ObjetoConsumible> {
+        val consumibles = objetos.values.filterIsInstance<ObjetoConsumible>()
+        return List(cantidad) { consumibles.random() }
     }
 }
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_tienda.xml b/app/src/main/res/layout/activity_tienda.xml
index 18aa724..72bf1c1 100644
--- a/app/src/main/res/layout/activity_tienda.xml
+++ b/app/src/main/res/layout/activity_tienda.xml
@@ -48,7 +48,6 @@
             android:gravity="center_horizontal">
 
             <androidx.cardview.widget.CardView
-                android:id="@+id/slot01"
                 android:layout_width="100dp"
                 android:layout_height="100dp"
                 android:elevation="0dp"
@@ -60,6 +59,7 @@
                 android:backgroundTint="#F2CDA0">
 
                 <ImageView
+                    android:id="@+id/slot01"
                     android:layout_width="100dp"
                     android:layout_height="100dp"
                     android:contentDescription="Imagen que sobresale de Slot 1"
@@ -103,7 +103,6 @@
             android:gravity="center_horizontal">
 
             <androidx.cardview.widget.CardView
-                android:id="@+id/slot02"
                 android:layout_width="100dp"
                 android:layout_height="100dp"
                 android:elevation="0dp"
@@ -116,6 +115,7 @@
 
 
                 <ImageView
+                    android:id="@+id/slot02"
                     android:layout_width="100dp"
                     android:layout_height="100dp"
                     android:contentDescription="Imagen que sobresale de Slot 1"
@@ -161,7 +161,6 @@
             android:gravity="center_horizontal">
 
             <androidx.cardview.widget.CardView
-                android:id="@+id/slot03"
                 android:layout_width="100dp"
                 android:layout_height="100dp"
                 android:elevation="0dp"
@@ -174,6 +173,7 @@
 
 
                 <ImageView
+                    android:id="@+id/slot03"
                     android:layout_width="100dp"
                     android:layout_height="100dp"
                     android:contentDescription="Imagen que sobresale de Slot 1"
@@ -217,7 +217,6 @@
             android:gravity="center_horizontal">
 
             <androidx.cardview.widget.CardView
-                android:id="@+id/slot04"
                 android:layout_width="100dp"
                 android:layout_height="100dp"
                 android:elevation="0dp"
@@ -230,6 +229,7 @@
 
 
                 <ImageView
+                    android:id="@+id/slot04"
                     android:layout_width="100dp"
                     android:layout_height="100dp"
                     android:contentDescription="Imagen que sobresale de Slot 1"
@@ -273,7 +273,6 @@
             android:gravity="center_horizontal">
 
             <androidx.cardview.widget.CardView
-                android:id="@+id/slot05"
                 android:layout_width="100dp"
                 android:layout_height="100dp"
                 android:elevation="0dp"
@@ -286,6 +285,7 @@
 
 
                 <ImageView
+                    android:id="@+id/slot05"
                     android:layout_width="100dp"
                     android:layout_height="100dp"
                     android:contentDescription="Imagen que sobresale de Slot 1"
@@ -330,7 +330,6 @@
             android:gravity="center_horizontal">
 
             <androidx.cardview.widget.CardView
-                android:id="@+id/slot06"
                 android:layout_width="100dp"
                 android:layout_height="100dp"
                 android:elevation="0dp"
@@ -342,6 +341,7 @@
                 android:backgroundTint="#F2CDA0">
 
                 <ImageView
+                    android:id="@+id/slot06"
                     android:layout_width="100dp"
                     android:layout_height="100dp"
                     android:contentDescription="Imagen que sobresale de Slot 1"
-- 
GitLab