diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml index 7f10c023531b1fb2dd6faaaea8f6387cdae0adae..154fb0ef0f8659e1a240c0eb9f0767bfa8828f0a 100644 --- a/.idea/deploymentTargetSelector.xml +++ b/.idea/deploymentTargetSelector.xml @@ -4,7 +4,7 @@ <selectionStates> <SelectionState runConfigName="app"> <option name="selectionMode" value="DROPDOWN" /> - <DropdownSelection timestamp="2024-11-25T12:35:02.530927478Z"> + <DropdownSelection timestamp="2024-12-02T13:10:57.162428132Z"> <Target type="DEFAULT_BOOT"> <handle> <DeviceId pluginId="PhysicalDevice" identifier="serial=RF8N1192C6J" /> diff --git a/.idea/misc.xml b/.idea/misc.xml index 1a1bf7268427786e746b2a8196166e4da7c2b458..74dd639e4ea4800753c1dbdb333093410e843492 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="ExternalStorageConfigurationManager" enabled="true" /> - <component name="ProjectRootManager" version="2" languageLevel="JDK_21" project-jdk-name="jbr-21" project-jdk-type="JavaSDK"> + <component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="jbr-21" project-jdk-type="JavaSDK"> <output url="file://$PROJECT_DIR$/build/classes" /> </component> <component name="ProjectType"> diff --git a/app/src/main/java/com/example/ellegadodepintia/ArmeriaActivity.kt b/app/src/main/java/com/example/ellegadodepintia/ArmeriaActivity.kt index 5b06fea38949b22c1d726bb141870b1575c1999c..82755838d44087cb5e895a4479354ed9d090df33 100644 --- a/app/src/main/java/com/example/ellegadodepintia/ArmeriaActivity.kt +++ b/app/src/main/java/com/example/ellegadodepintia/ArmeriaActivity.kt @@ -4,6 +4,7 @@ import android.graphics.Color import android.os.Bundle import android.view.View import android.widget.Button +import android.widget.ImageButton import android.widget.ImageView import android.widget.TextView import androidx.appcompat.app.AppCompatActivity @@ -12,6 +13,7 @@ import com.example.ellegadodepintia.exploradoresDePintia.model.GameState import com.example.ellegadodepintia.exploradoresDePintia.model.LayoutUtils import com.example.ellegadodepintia.exploradoresDePintia.model.objeto.Objeto import com.example.ellegadodepintia.repositorios.RepositorioObjetos +import com.example.ellegadodepintia.soundManager.SoundManager class ArmeriaActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { @@ -23,15 +25,20 @@ class ArmeriaActivity : AppCompatActivity() { val nivelCiudad = GameState.jugador.nivelCiudad val nObjetos = nivelCiudad * 2 - + val mapButton: ImageButton = findViewById(R.id.mapButton) val texto = findViewById<TextView>(R.id.textoInformacion) - + var soundManager: SoundManager + soundManager = SoundManager(this) val botonRefrescar = findViewById<Button>(R.id.botonRefrescar) + mapButton.setOnClickListener{ + super.onBackPressed() + } botonRefrescar.setOnClickListener { if(GameState.jugador.monedas >= 5){ GameState.jugador.actualizarObjetosArmeria(nObjetos) GameState.jugador.actualizarMonedas(GameState.jugador.monedas - 5) "Se ha actualizado la tienda".also { texto.text = it } + soundManager.playSound(R.raw.sound_dineros,100) } else { "No tienes suficientes monedas para refrescar".also { texto.text = it } } @@ -119,6 +126,8 @@ class ArmeriaActivity : AppCompatActivity() { private fun ejecutarCompra(objeto: Objeto?, coste: Int){ val texto = findViewById<TextView>(R.id.textoInformacion) + var soundManager: SoundManager + soundManager = SoundManager(this) if (GameState.jugador.monedas < coste){ "No hay dinero".also { texto.text = it } }else{ @@ -127,6 +136,7 @@ class ArmeriaActivity : AppCompatActivity() { GameState.jugador.conseguirObjeto(objeto) } "Objeto comprado y añadido al inventario".also { texto.text = it } + soundManager.playSound(R.raw.sound_dineros,100) } } } diff --git a/app/src/main/java/com/example/ellegadodepintia/AuthActivity.kt b/app/src/main/java/com/example/ellegadodepintia/AuthActivity.kt index 50d04057f198fb2d00aedc548118b04cd2c6acc5..46a0266bd84a33fab0e0392e58bea7d582eecd64 100644 --- a/app/src/main/java/com/example/ellegadodepintia/AuthActivity.kt +++ b/app/src/main/java/com/example/ellegadodepintia/AuthActivity.kt @@ -1,15 +1,23 @@ package com.example.ellegadodepintia +import android.animation.ObjectAnimator import android.content.Intent import android.os.Bundle import android.os.Handler import android.os.Looper +import android.view.View +import android.view.ViewGroup import android.widget.Button +import android.widget.ImageView import android.widget.TextView import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AppCompatActivity +import androidx.core.animation.doOnEnd +import com.example.ellegadodepintia.exploradoresDePintia.model.GameState.context import com.example.ellegadodepintia.repositorios.RepositorioJugador +import com.example.ellegadodepintia.soundManager.SoundManager import com.google.firebase.auth.FirebaseAuth +import kotlin.random.Random class AuthActivity : AppCompatActivity() { @@ -17,11 +25,30 @@ class AuthActivity : AppCompatActivity() { super.onCreate(savedInstanceState) setContentView(R.layout.activity_register) - val botonRegistrarse = findViewById<Button>(R.id.buttonRegister) + val botonIniciarSesion = findViewById<Button>(R.id.buttonLogIn) val textoEmail = findViewById<TextView>(R.id.editTextEmail).text val textoPassword = findViewById<TextView>(R.id.editTextPassword).text val textoUsername = findViewById<TextView>(R.id.editTextUsername).text + var soundManager: SoundManager + soundManager = SoundManager(this) + // Verificar si hay un usuario autenticado + val currentUser = FirebaseAuth.getInstance().currentUser + if (currentUser != null) { + RepositorioJugador.cargarJugador(currentUser.email!!) + lluviaDeNubes() + soundManager.playSound(R.raw.sound_login,100) + val titleTextView = findViewById<TextView>(R.id.titleTextView) + titleTextView.text = "CARGANDO MUNDO" + botonRegistrarse.visibility = View.GONE + botonIniciarSesion.visibility = View.GONE + Handler(Looper.getMainLooper()).postDelayed({ + mostrarMapActivity() + }, 2000) + return + } + + botonRegistrarse.setOnClickListener { if (textoEmail.isNotEmpty() && textoPassword.isNotEmpty() && textoUsername.isNotEmpty()) { @@ -30,22 +57,25 @@ class AuthActivity : AppCompatActivity() { textoPassword.toString() ).addOnCompleteListener { if (it.isSuccessful) { - RepositorioJugador.addJugador(textoEmail.toString(),textoUsername.toString()) + RepositorioJugador.addJugador(textoEmail.toString(), textoUsername.toString()) RepositorioJugador.cargarJugador(textoEmail.toString()) + lluviaDeNubes() + val titleTextView = findViewById<TextView>(R.id.titleTextView) + titleTextView.text = "CARGANDO MUNDO" + botonRegistrarse.visibility = View.GONE + botonIniciarSesion.visibility = View.GONE Handler(Looper.getMainLooper()).postDelayed({ mostrarMapActivity() - },800) - + }, 2000) } else { showAlert() } } - }else{ + } else { showAlert() } } - val botonIniciarSesion = findViewById<Button>(R.id.buttonLogIn) botonIniciarSesion.setOnClickListener { if (textoEmail.isNotEmpty() && textoPassword.isNotEmpty()) { FirebaseAuth.getInstance().signInWithEmailAndPassword( @@ -54,16 +84,21 @@ class AuthActivity : AppCompatActivity() { ).addOnCompleteListener { if (it.isSuccessful) { RepositorioJugador.cargarJugador(textoEmail.toString()) + lluviaDeNubes() + soundManager.playSound(R.raw.sound_login,100) + val titleTextView = findViewById<TextView>(R.id.titleTextView) + titleTextView.text = "CARGANDO MUNDO" + botonRegistrarse.visibility = View.GONE + botonIniciarSesion.visibility = View.GONE Handler(Looper.getMainLooper()).postDelayed({ mostrarMapActivity() - },800) + }, 2000) } else { showAlert() } } } } - } private fun showAlert() { @@ -78,8 +113,52 @@ class AuthActivity : AppCompatActivity() { private fun mostrarMapActivity() { val intent = Intent(this, MapActivity::class.java) startActivity(intent) + finish() // Finaliza la actividad actual para que no vuelva atrás } + // Inicia el efecto de lluvia de nubes + private fun lluviaDeNubes() { + val screenWidth = resources.displayMetrics.widthPixels + val screenHeight = resources.displayMetrics.heightPixels + val rainDuration = 2000L // Duración de la lluvia de nubes + val handler = Handler(Looper.getMainLooper()) + val startTime = System.currentTimeMillis() + + // Runnable para generar las nubes mientras dure la lluvia + val runnable = object : Runnable { + override fun run() { + val elapsedTime = System.currentTimeMillis() - startTime + if (elapsedTime < rainDuration) { + nubeCaer(screenWidth, screenHeight) + handler.postDelayed(this, 30) // Cada 100ms cae una nueva nube + } + } + } + handler.post(runnable) + } + + // Crea una nube animada que cae desde la parte superior de la pantalla + private fun nubeCaer(screenWidth: Int, screenHeight: Int) { + val nube = ImageView(this).apply { + setImageResource(R.drawable.asi_minijuego_2_nube) // Imagen de la nube + layoutParams = ViewGroup.LayoutParams(200, 200) // Tamaño de la nube + x = Random.nextInt(0, screenWidth - 100).toFloat() // Posición X aleatoria + y = -100f // Empieza fuera de la pantalla (parte superior) + } + + // Añadimos la nube al layout actual + addContentView(nube, nube.layoutParams) + + // Animación de caÃda de la nube + ObjectAnimator.ofFloat(nube, "translationY", screenHeight.toFloat() + 100f).apply { + duration = Random.nextLong(1000, 3000) // Duración aleatoria para cada nube + start() + + // Cuando la animación termine, se elimina la nube del layout + doOnEnd { (nube.parent as? ViewGroup)?.removeView(nube) } + } + } + } diff --git a/app/src/main/java/com/example/ellegadodepintia/LeaderBoardActivity.kt b/app/src/main/java/com/example/ellegadodepintia/LeaderBoardActivity.kt index 3d5d68ececa25c688f2839289ec6eb0ca91f52eb..82826e4cf405ae3e549f27f13ebba8d0a294b39a 100644 --- a/app/src/main/java/com/example/ellegadodepintia/LeaderBoardActivity.kt +++ b/app/src/main/java/com/example/ellegadodepintia/LeaderBoardActivity.kt @@ -8,19 +8,21 @@ import androidx.appcompat.app.AppCompatActivity import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.example.ellegadodepintia.repositorios.RepositorioJugador - +import com.example.ellegadodepintia.soundManager.SoundManager class LeaderboardActivity : AppCompatActivity() { - + private lateinit var soundManager: SoundManager override fun onCreate(savedInstanceState: Bundle?) { + soundManager = SoundManager(this) + soundManager.playSoundLoop(R.raw.sound_leader,100) super.onCreate(savedInstanceState) setContentView(R.layout.activity_leaderboard) val mapButton: ImageButton = findViewById(R.id.mapButton) - val leaderboardButton: ImageButton = findViewById(R.id.leaderboardButton) - val shopButton: ImageButton = findViewById(R.id.shopButton) + + val shopButton: ImageButton = findViewById(R.id.logoutButton) mapButton.setBackgroundColor(Color.TRANSPARENT) - leaderboardButton.setBackgroundResource(R.drawable.style_texto_border) + shopButton.setBackgroundColor(Color.TRANSPARENT) mapButton.setOnClickListener{ @@ -34,4 +36,19 @@ class LeaderboardActivity : AppCompatActivity() { recyclerView.adapter = LeaderboardAdapter(jugadores) } } + + override fun onDestroy() { + super.onDestroy() + soundManager.stopSound() + } + + override fun onPause() { + super.onPause() + soundManager.stopSound() + } + override fun onBackPressed() { + if(1 == 2) { + super.onBackPressed() + } + } } diff --git a/app/src/main/java/com/example/ellegadodepintia/MainActivity.kt b/app/src/main/java/com/example/ellegadodepintia/MainActivity.kt index 2d07c7dceaaf5f160a9010768ce10187fd77e4a3..ca10ca12752609ad548684b54312ca9c71ac9461 100644 --- a/app/src/main/java/com/example/ellegadodepintia/MainActivity.kt +++ b/app/src/main/java/com/example/ellegadodepintia/MainActivity.kt @@ -21,12 +21,6 @@ class MainActivity : AppCompatActivity() { startActivity(intent) } - val logInButton = findViewById<Button>(R.id.loginButton) - logInButton.setOnClickListener { - val intent = Intent(this, MapActivity::class.java) - startActivity(intent) - } - val botonSecreto = findViewById<ImageView>(R.id.logoImageView) var clickCount = 0 val clickThreshold = 3 diff --git a/app/src/main/java/com/example/ellegadodepintia/MapActivity.kt b/app/src/main/java/com/example/ellegadodepintia/MapActivity.kt index 2a0ad79ab2e30490a78b075a2615bbb22631891e..8dea3b8301e5bfe5a17e0d5e42a5aa43e1130661 100644 --- a/app/src/main/java/com/example/ellegadodepintia/MapActivity.kt +++ b/app/src/main/java/com/example/ellegadodepintia/MapActivity.kt @@ -6,12 +6,15 @@ import android.os.Bundle import android.util.DisplayMetrics import android.view.View import android.widget.ImageButton +import android.widget.ImageView import android.widget.RelativeLayout import android.widget.TextView +import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import com.example.ellegadodepintia.exploradoresDePintia.ExploradoresDePintia import com.example.ellegadodepintia.exploradoresDePintia.model.GameState import com.example.ellegadodepintia.soundManager.SoundManager +import com.google.firebase.auth.FirebaseAuth class MapActivity : AppCompatActivity() { @@ -25,13 +28,29 @@ class MapActivity : AppCompatActivity() { ajustarPosiciones() val mapButton: ImageButton= findViewById(R.id.mapButton) val leaderboardButton: ImageButton = findViewById(R.id.leaderboardButton) - val shopButton: ImageButton = findViewById(R.id.shopButton) - + val shopButton: ImageButton = findViewById(R.id.logoutButton) + val monedasButton: ImageView= findViewById(R.id.moneyImage) leaderboardButton.setOnClickListener{ val intent = Intent(this, LeaderboardActivity::class.java) + soundManager.stopSound() startActivity(intent) } + shopButton.setOnClickListener { + // Cierra la sesión del usuario + FirebaseAuth.getInstance().signOut() + // Redirige al usuario a la pantalla de inicio de sesión + val intent = Intent(this, MainActivity::class.java) + intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NEW_TASK + startActivity(intent) + finish() + soundManager.stopSound() + } + monedasButton.setOnClickListener{ + GameState.jugador.actualizarMonedas(GameState.jugador.monedas + 50) + Toast.makeText(this, "TRAMPOSO", Toast.LENGTH_SHORT) .show() + actualizarMonedas() + } actualizarMonedas() mapButton.setBackgroundResource(R.drawable.style_texto_border) @@ -88,9 +107,9 @@ class MapActivity : AppCompatActivity() { // 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.botonTaberna), 149f, 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.botonArmeria), 199f, 500f, 192f, 145f, widthRatio, heightRatio, density) ajustarBoton(findViewById(R.id.botonEntrenar), 241f, 226f, 170f, 125f, widthRatio, heightRatio, density) } @@ -129,11 +148,13 @@ class MapActivity : AppCompatActivity() { } override fun onBackPressed() { + if(1 == 2){ super.onBackPressed() - soundManager.stopSound() - + soundManager.stopSound()} } + + } diff --git a/app/src/main/java/com/example/ellegadodepintia/TabernaActivity.kt b/app/src/main/java/com/example/ellegadodepintia/TabernaActivity.kt index 995444e8d8f5671dab1caa9755fcf542ddfc265f..edab9befad3168549d033f0ce53fabef6bff50b9 100644 --- a/app/src/main/java/com/example/ellegadodepintia/TabernaActivity.kt +++ b/app/src/main/java/com/example/ellegadodepintia/TabernaActivity.kt @@ -1,10 +1,14 @@ package com.example.ellegadodepintia +import android.content.Intent import android.os.Bundle +import android.widget.ImageButton import android.widget.TextView import androidx.appcompat.app.AppCompatActivity import com.example.ellegadodepintia.exploradoresDePintia.ModalConfirmacion import com.example.ellegadodepintia.exploradoresDePintia.model.GameState +import com.example.ellegadodepintia.exploradoresDePintia.model.GameState.context +import com.example.ellegadodepintia.soundManager.SoundManager class TabernaActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { @@ -12,18 +16,22 @@ class TabernaActivity : AppCompatActivity() { setContentView(R.layout.activity_taberna) GameState.jugador.addObserver { actualizarNivelTaberna() } - + val mapButton: ImageButton = findViewById(R.id.mapButton) val botonMejorar = findViewById<TextView>(R.id.botonMejorar) val textoInformacion = findViewById<TextView>(R.id.textoInformacion) actualizarNivelTaberna() - + mapButton.setOnClickListener{ + super.onBackPressed() + } botonMejorar.setOnClickListener { val confirmacionFragment = ModalConfirmacion() - + var soundManager: SoundManager + soundManager = SoundManager(this) confirmacionFragment.onDismissListener = { mejorar -> if (mejorar) { "Se ha realizado la mejora con éxito".also { textoInformacion.text = it } + soundManager.playSound(R.raw.sound_dineros,100) } else { "No se ha podido realizar la mejora".also { textoInformacion.text = it } } diff --git a/app/src/main/java/com/example/ellegadodepintia/TiendaActivity.kt b/app/src/main/java/com/example/ellegadodepintia/TiendaActivity.kt index 5c3cd801bca4542261f724a180c1a2650e19bc59..0fd0a626757cb06480fe825383903ff38d93cb08 100644 --- a/app/src/main/java/com/example/ellegadodepintia/TiendaActivity.kt +++ b/app/src/main/java/com/example/ellegadodepintia/TiendaActivity.kt @@ -4,14 +4,17 @@ import android.graphics.Color import android.os.Bundle import android.view.View import android.widget.Button +import android.widget.ImageButton import android.widget.ImageView import android.widget.TextView import androidx.appcompat.app.AppCompatActivity import com.example.ellegadodepintia.exploradoresDePintia.ModalDetallesCompra import com.example.ellegadodepintia.exploradoresDePintia.model.GameState +import com.example.ellegadodepintia.exploradoresDePintia.model.GameState.context import com.example.ellegadodepintia.exploradoresDePintia.model.LayoutUtils import com.example.ellegadodepintia.exploradoresDePintia.model.objeto.Objeto import com.example.ellegadodepintia.repositorios.RepositorioObjetos +import com.example.ellegadodepintia.soundManager.SoundManager class TiendaActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { @@ -23,15 +26,21 @@ class TiendaActivity : AppCompatActivity() { val nivelCiudad = GameState.jugador.nivelCiudad val nObjetos = nivelCiudad * 2 - + val mapButton: ImageButton = findViewById(R.id.mapButton) val texto = findViewById<TextView>(R.id.textoInformacion) val botonRefrescar = findViewById<Button>(R.id.botonRefrescar) + var soundManager: SoundManager + soundManager = SoundManager(this) + mapButton.setOnClickListener{ + super.onBackPressed() + } botonRefrescar.setOnClickListener { if(GameState.jugador.monedas >= 5){ GameState.jugador.actualizarObjetosTienda(nObjetos) GameState.jugador.actualizarMonedas(GameState.jugador.monedas - 5) "Se ha actualizado la tienda".also { texto.text = it } + soundManager.playSound(R.raw.sound_dineros,100) } else { "No tienes suficientes monedas para refrescar".also { texto.text = it } } @@ -118,6 +127,8 @@ class TiendaActivity : AppCompatActivity() { private fun ejecutarCompra(objeto: Objeto?, coste: Int){ val texto = findViewById<TextView>(R.id.textoInformacion) + var soundManager: SoundManager + soundManager = SoundManager(this) if (GameState.jugador.monedas < coste){ "No hay dinero".also { texto.text = it } }else{ @@ -126,6 +137,7 @@ class TiendaActivity : AppCompatActivity() { GameState.jugador.conseguirObjeto(objeto) } "Objeto comprado y añadido al inventario".also { texto.text = it } + soundManager.playSound(R.raw.sound_dineros,100) } } } 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 8682f43473972607c4fed0f5e20267af3e358d28..909e31d27810c5d2d8228a353a7288f8de78405c 100644 --- a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ExploradoresDePintia.kt +++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ExploradoresDePintia.kt @@ -9,8 +9,11 @@ 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.widget.Button import android.widget.GridLayout import android.widget.ImageButton import android.widget.ImageView @@ -21,6 +24,7 @@ import android.widget.Toast import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.contract.ActivityResultContracts import androidx.appcompat.app.AppCompatActivity +import androidx.fragment.app.DialogFragment import com.example.ellegadodepintia.R import com.example.ellegadodepintia.exploradoresDePintia.model.Atributo import com.example.ellegadodepintia.exploradoresDePintia.model.GameState @@ -28,6 +32,7 @@ import com.example.ellegadodepintia.exploradoresDePintia.model.GameState import com.example.ellegadodepintia.exploradoresDePintia.model.GeneradorDeEventos import com.example.ellegadodepintia.exploradoresDePintia.model.LayoutUtils import com.example.ellegadodepintia.exploradoresDePintia.model.GestorDeEventos + import com.example.ellegadodepintia.repositorios.RepositorioJugador import com.example.ellegadodepintia.repositorios.RepositorioObjetos import com.example.ellegadodepintia.soundManager.SoundManager @@ -68,7 +73,7 @@ class ExploradoresDePintia : AppCompatActivity() { val inventoryButton: ImageButton = findViewById(R.id.inventoryButton) val eventButton: ImageButton = findViewById(R.id.eventButton) - + val tutoButtom: ImageButton = findViewById(R.id.tutorialButton) eventButton.setBackgroundResource(R.drawable.style_texto_border) inventoryButton.setBackgroundColor(Color.TRANSPARENT) @@ -76,7 +81,10 @@ class ExploradoresDePintia : AppCompatActivity() { val inventarioFragment = InventoryMain() inventarioFragment.show(supportFragmentManager, "inventario") } - + tutoButtom.setOnClickListener{ + val modal = ModalFragment() + modal.show(supportFragmentManager, "ModalFragment") + } val imagenProtagonista = findViewById<ImageView>(R.id.imagenProtagonista) val idleAnimation = imagenProtagonista.drawable as? AnimationDrawable idleAnimation?.start() @@ -173,3 +181,29 @@ class ExploradoresDePintia : AppCompatActivity() { } } +class ModalFragment : DialogFragment() { + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflar el diseño del modal + val view = inflater.inflate(R.layout.modal_juego_tutorial, container, false) + + // Configurar el botón de cerrar + val closeButton = view.findViewById<Button>(R.id.cerrar) + closeButton.setOnClickListener { + dismiss() // Cierra el modal + } + return view + } + override fun onStart() { + super.onStart() + + // Ajustar el tamaño del modal + dialog?.window?.setLayout( + (resources.displayMetrics.widthPixels * 0.9).toInt(), // 90% del ancho de la pantalla + ViewGroup.LayoutParams.WRAP_CONTENT // Altura automática + ) + } +} diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ModalConfirmacion.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ModalConfirmacion.kt index 55bc9dd60632acae0083812f1b001e749c6c7c25..a64f33f4355c577145c8a40bd36bd5509f4fd2a5 100644 --- a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ModalConfirmacion.kt +++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ModalConfirmacion.kt @@ -56,4 +56,13 @@ class ModalConfirmacion : DialogFragment() { dismiss() } } + override fun onStart() { + super.onStart() + + // Ajustar el tamaño del modal + dialog?.window?.setLayout( + (resources.displayMetrics.widthPixels * 0.9).toInt(), // 90% del ancho de la pantalla + ViewGroup.LayoutParams.WRAP_CONTENT // Altura automática + ) + } } diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ModalDetallesCompra.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ModalDetallesCompra.kt index 8591fbffdf9038ca96b23c6f7fb2976cf29c060e..e0f896dd51f4e4aba184a004f7035932ef70f045 100644 --- a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ModalDetallesCompra.kt +++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ModalDetallesCompra.kt @@ -61,4 +61,14 @@ class ModalDetallesCompra : DialogFragment() { onDismissListener?.invoke(accionRealizada) } + override fun onStart() { + super.onStart() + + // Ajustar el tamaño del modal + dialog?.window?.setLayout( + (resources.displayMetrics.widthPixels * 0.9).toInt(), // 90% del ancho de la pantalla + ViewGroup.LayoutParams.WRAP_CONTENT // Altura automática + ) + } + } diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ModalDetallesEnemigo.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ModalDetallesEnemigo.kt index 125b422f5b24278738cc0e32640fe9a938970f54..b2ef6a24194bcdebb1a03fd39d8bd4166081a80d 100644 --- a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ModalDetallesEnemigo.kt +++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ModalDetallesEnemigo.kt @@ -59,5 +59,14 @@ class ModalDetallesEnemigo : DialogFragment() { } + override fun onStart() { + super.onStart() + + // Ajustar el tamaño del modal + dialog?.window?.setLayout( + (resources.displayMetrics.widthPixels * 0.9).toInt(), // 90% del ancho de la pantalla + ViewGroup.LayoutParams.WRAP_CONTENT // Altura automática + ) + } } diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ModalDetallesFragment.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ModalDetallesFragment.kt index 697e61ffaf5169bc86240369a8ca0f273487b9e8..389c01a2cce4ac94c000e6bda26735a7dee9c26b 100644 --- a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ModalDetallesFragment.kt +++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ModalDetallesFragment.kt @@ -132,6 +132,14 @@ class ModalDetallesFragment : DialogFragment() { jugadorObserver = null } - + override fun onStart() { + super.onStart() + + // Ajustar el tamaño del modal + dialog?.window?.setLayout( + (resources.displayMetrics.widthPixels * 0.9).toInt(), // 90% del ancho de la pantalla + ViewGroup.LayoutParams.WRAP_CONTENT // Altura automática + ) + } } diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ModalHabilidadesProtagonista.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ModalHabilidadesProtagonista.kt index 67e90ac5a512ebc5420a8fb9d5ab10c61e420742..a90cc78c0819e39ce6465780e3b028c172ceae39 100644 --- a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ModalHabilidadesProtagonista.kt +++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ModalHabilidadesProtagonista.kt @@ -114,4 +114,14 @@ class ModalHabilidadesProtagonista : DialogFragment() { slotsContainer.addView(scrollView) } + + override fun onStart() { + super.onStart() + + // Ajustar el tamaño del modal + dialog?.window?.setLayout( + (resources.displayMetrics.widthPixels * 0.9).toInt(), // 90% del ancho de la pantalla + ViewGroup.LayoutParams.WRAP_CONTENT // Altura automática + ) + } } diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/LayoutUtils.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/LayoutUtils.kt index f9087854c0c47ac12b8463069baddc66ac019a93..dada29bf4b936aa0cb9e367004b2bf417e0d60bd 100644 --- a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/LayoutUtils.kt +++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/LayoutUtils.kt @@ -13,10 +13,10 @@ import com.example.ellegadodepintia.exploradoresDePintia.ModalDetallesFragment import com.example.ellegadodepintia.exploradoresDePintia.model.GameState.context import com.example.ellegadodepintia.exploradoresDePintia.model.objeto.Objeto import android.animation.ObjectAnimator - +import com.example.ellegadodepintia.soundManager.SoundManager object LayoutUtils { - + private lateinit var soundManager: SoundManager fun actualizarEstadisticasMain() { if (context is Activity) { val barraVida = context!!.findViewById<ProgressBar>(R.id.barraVida) @@ -26,7 +26,7 @@ object LayoutUtils { val vidaText = context!!.findViewById<TextView>(R.id.vidaText) val energiaText = context!!.findViewById<TextView>(R.id.EnergiaText) - actualizarJugador(barraVida, ataqueText, investigacionText, vidaText, energiaText, barraEnergia) + actualizarJugador(barraVida, ataqueText, investigacionText, vidaText, energiaText, barraEnergia,true) } } @@ -37,7 +37,7 @@ object LayoutUtils { val investigacionText = view.findViewById<TextView>(R.id.investigacionText) val vidaText = view.findViewById<TextView>(R.id.vidaText) val energiaText = view.findViewById<TextView>(R.id.EnergiaText) - actualizarJugador(barraVida, ataqueText, investigacionText, vidaText, energiaText, barraEnergia) + actualizarJugador(barraVida, ataqueText, investigacionText, vidaText, energiaText, barraEnergia,false) } @@ -48,13 +48,18 @@ object LayoutUtils { investigacionText: TextView, vidaText: TextView, energiaText: TextView, - barraEnergia: ProgressBar + barraEnergia: ProgressBar, + sonido: Boolean ) { val vidaMax = GameState.jugador.vidaMax val vidaActual = GameState.jugador.atributos[Atributo.Vida]!! + soundManager = SoundManager(context!!) + if(barraVida.progress>vidaActual && vidaActual!=vidaMax && sonido){ + soundManager.playSound(R.raw.sound_dano,100) + } if (barraVida.progress != vidaActual) { ObjectAnimator.ofInt(barraVida, "progress", barraVida.progress, vidaActual).apply { - duration = 1000 + duration = 500 start() } } diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/habilidad/efectoHabilidad/EfectoBuffo.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/habilidad/efectoHabilidad/EfectoBuffo.kt index 65889bb1cc7df3be77583787f3942a8fdb954c85..06567dca1da87cfd0a8d02ef8632da361b9c0fc7 100644 --- a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/habilidad/efectoHabilidad/EfectoBuffo.kt +++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/habilidad/efectoHabilidad/EfectoBuffo.kt @@ -2,16 +2,23 @@ package com.example.ellegadodepintia.exploradoresDePintia.model.habilidad.efecto import android.os.Handler import android.os.Looper +import com.example.ellegadodepintia.R import com.example.ellegadodepintia.exploradoresDePintia.model.Atributo import com.example.ellegadodepintia.exploradoresDePintia.model.GameState +import com.example.ellegadodepintia.exploradoresDePintia.model.GameState.context +import com.example.ellegadodepintia.exploradoresDePintia.model.LayoutUtils import java.util.UUID +import com.example.ellegadodepintia.soundManager.SoundManager class EfectoBuffo(private val atributo: Atributo, private val poder: Int, private var turnos: Int) : - EfectoHabilidad() { + EfectoHabilidad() { private var id: String = UUID.randomUUID().toString() override fun ejecutar() { + var soundManager: SoundManager + soundManager = SoundManager(context!!) + soundManager.playSound(R.raw.sound_habilidad, 100) GameState.jugador.actualizarAtributo(atributo, poder) GameState.jugador.actualizarBuffo(this.clonar()) } diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/habilidad/efectoHabilidad/EfectoGolpeMultiple.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/habilidad/efectoHabilidad/EfectoGolpeMultiple.kt index 3ced9b48c9ecf16d3dcb21923cffd8423d7e4a10..9d98d672a74b389f8e47fffef3242eca1916df44 100644 --- a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/habilidad/efectoHabilidad/EfectoGolpeMultiple.kt +++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/habilidad/efectoHabilidad/EfectoGolpeMultiple.kt @@ -1,13 +1,25 @@ package com.example.ellegadodepintia.exploradoresDePintia.model.habilidad.efectoHabilidad +import android.os.Handler +import android.os.Looper +import com.example.ellegadodepintia.R import com.example.ellegadodepintia.exploradoresDePintia.model.Atributo import com.example.ellegadodepintia.exploradoresDePintia.model.GameState +import com.example.ellegadodepintia.exploradoresDePintia.model.GameState.context import com.example.ellegadodepintia.exploradoresDePintia.model.GestorCombate +import com.example.ellegadodepintia.soundManager.SoundManager class EfectoGolpeMultiple(private var cantidad: Int): EfectoHabilidad(){ override fun ejecutar() { GestorCombate.cargarAnimacionesAtaqueProtagonista() + var soundManager: SoundManager + soundManager = SoundManager(context!!) + soundManager.playSound(R.raw.sound_espada, 100) + Handler(Looper.getMainLooper()).postDelayed({ + soundManager.playSound(R.raw.sound_espada, 100) + }, 400) val ataqueReal = GestorCombate.calcularAtaque(cantidad*GameState.jugador.atributos[Atributo.Ataque]!!,GameState.jugador.atributos[Atributo.Critico]!!) GameState.eventoActual.actualizarResistencia(-ataqueReal) + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/objeto/efectoObjeto/EfectoObjetoAtacar.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/objeto/efectoObjeto/EfectoObjetoAtacar.kt index b6b49b6614690a10356b53c4ea693f27d19b909a..514ce0c6b3158b1cc4ef78cc90f301f5d3ffbbe0 100644 --- a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/objeto/efectoObjeto/EfectoObjetoAtacar.kt +++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/objeto/efectoObjeto/EfectoObjetoAtacar.kt @@ -1,9 +1,15 @@ package com.example.ellegadodepintia.exploradoresDePintia.model.objeto.efectoObjeto +import com.example.ellegadodepintia.R import com.example.ellegadodepintia.exploradoresDePintia.model.GameState +import com.example.ellegadodepintia.exploradoresDePintia.model.GameState.context +import com.example.ellegadodepintia.soundManager.SoundManager -class EfectoObjetoAtacar (private val ptosAtaque : Int): EfectoObjeto(){ +class EfectoObjetoAtacar (private val ptosAtaque : Int, private val sound: Int): EfectoObjeto(){ override fun ejecutar() { + var soundManager: SoundManager + soundManager = SoundManager(context!!) GameState.eventoActual.actualizarResistencia(-ptosAtaque) + soundManager.playSound(sound , 100) } } \ No newline at end of file diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/objeto/efectoObjeto/EfectoObjetoCura.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/objeto/efectoObjeto/EfectoObjetoCura.kt index a92843336116cf396706c7b116569c923afbddf3..2df8fac89d751235804932567621779d1f5a3dda 100644 --- a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/objeto/efectoObjeto/EfectoObjetoCura.kt +++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/objeto/efectoObjeto/EfectoObjetoCura.kt @@ -1,10 +1,16 @@ package com.example.ellegadodepintia.exploradoresDePintia.model.objeto.efectoObjeto +import com.example.ellegadodepintia.R import com.example.ellegadodepintia.exploradoresDePintia.model.GameState import com.example.ellegadodepintia.exploradoresDePintia.model.Atributo +import com.example.ellegadodepintia.exploradoresDePintia.model.GameState.context +import com.example.ellegadodepintia.soundManager.SoundManager class EfectoObjetoCura (val ptosCura : Int): EfectoObjeto(){ override fun ejecutar() { + var soundManager: SoundManager + soundManager = SoundManager(context!!) + soundManager.playSound(R.raw.sound_vida, 100) if (GameState.jugador.atributos[Atributo.Vida]!!.plus(ptosCura) >= GameState.jugador.vidaMax){ GameState.jugador.setHabilidad(Atributo.Vida, GameState.jugador.vidaMax) }else{ 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 fedfcc2213a58fbb6089cc8c6702a02110455cf6..2818896aabacce6b6efa5f92a01903bfb9937566 100644 --- a/app/src/main/java/com/example/ellegadodepintia/minijuego2/Minijuego2.kt +++ b/app/src/main/java/com/example/ellegadodepintia/minijuego2/Minijuego2.kt @@ -38,8 +38,8 @@ class Minijuego2 : AppCompatActivity() { private var gravedad = 1f private var velObs = 10f private var aceleracionSubida = -1f - private var velocidadMaximaCaida = 20f - private var velocidadMaximaSubida = -20f + private var velocidadMaximaCaida = 10f + private var velocidadMaximaSubida = -15f private var velocidad = 0f private var jugando = false private var pulsacion = false @@ -102,17 +102,15 @@ class Minijuego2 : AppCompatActivity() { findViewById<View>(android.R.id.content).setOnTouchListener { view, event -> when (event.action) { MotionEvent.ACTION_DOWN -> { - pulsacion = true // Activa el "jetpack" al tocar - } - MotionEvent.ACTION_UP -> { - pulsacion = false // Desactiva el "jetpack" al soltar - view.performClick() // Llama a performClick() para asegurar que el clic sea registrado + // Al tocar la pantalla, el personaje sube + velocidad = velocidadMaximaSubida // Impulsa al protagonista hacia arriba } } true } } + private fun iniciarJuego() { soundManager.playSoundLoop(R.raw.sound_nubes,100) ocultarElementosInicioYMostrarProtagonista() 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 08cc887f197226add93899f80a6be52ac4b597c0..f7d6c0c49ec6ddf33b80cc406c0c4bdc4aaf15ce 100644 --- a/app/src/main/java/com/example/ellegadodepintia/minijuego3/Minijuego3.kt +++ b/app/src/main/java/com/example/ellegadodepintia/minijuego3/Minijuego3.kt @@ -39,7 +39,7 @@ class Minijuego3 : AppCompatActivity() { private var segundaCarta: Carta? = null private var procesandose = false private var cuentraAtras: CountDownTimer? = null - private var tiempoRestante: Long = 25000 // 1 minuto en milisegundos + private var tiempoRestante: Long = 35000 // 1 minuto en milisegundos private var tiempoCorriendo = false override fun onCreate(savedInstanceState: Bundle?) { 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 c6a6db6fcaf2ff0d2cac2a8ed4a76c857f8f6a51..8a0b4d9403c0671aad14018277d9f15f195785d3 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,7 @@ object RepositorioObjetos { ObjetoConsumible( nombre = "Poción de Veneno II", descripcion = "Según las leyendas, los vacceos preparaban este brebaje para impregnar sus armas, asegurando que incluso un rasguño pudiera derrotar a un enemigo. Hace 2 de daño al enemigo.", - efecto = EfectoObjetoAtacar(2), + efecto = EfectoObjetoAtacar(2,R.raw.sound_veneno2), coste = 15, imagen = R.drawable.asi_objeto_veneno2 ), 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 ee453e724aaa1e29101c68593bc1a72cf77409b6..07686477def6d3bc130caf4d4ecd409d5cfa9848 100644 --- a/app/src/main/java/com/example/ellegadodepintia/ruleta/Ruleta.kt +++ b/app/src/main/java/com/example/ellegadodepintia/ruleta/Ruleta.kt @@ -31,6 +31,7 @@ class Ruleta : AppCompatActivity() { private val segmentos = arrayOf("x4", "x1", "x2", "x1", "x2", "x1", "x2", "x1") private var ultimaRotacion = 0f private var puntuacionActual = 1 + private var girando = false // Configura las vistas iniciales de la actividad y establece acciones iniciales override fun onCreate(savedInstanceState: Bundle?) { @@ -64,8 +65,12 @@ 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() + if(!girando){ + girando = true + soundManager.playSound(R.raw.sound_ruleta,100) + girarRuleta() + } + } } diff --git a/app/src/main/res/drawable-nodpi/asi_exploradores_interrogacion.png b/app/src/main/res/drawable-nodpi/asi_exploradores_interrogacion.png new file mode 100644 index 0000000000000000000000000000000000000000..94e6bf5235cdd79cdd74f1b09d3de32e5553b421 Binary files /dev/null and b/app/src/main/res/drawable-nodpi/asi_exploradores_interrogacion.png differ diff --git a/app/src/main/res/drawable/asi_ruleta_puntero.png b/app/src/main/res/drawable/asi_ruleta_puntero.png index 1bc7b47969e8c5a5aa4153a725d851d201857e79..894948f74990cfc3623f761a47ad14f7a1b84948 100644 Binary files a/app/src/main/res/drawable/asi_ruleta_puntero.png and b/app/src/main/res/drawable/asi_ruleta_puntero.png differ diff --git a/app/src/main/res/drawable/icon_logout.png b/app/src/main/res/drawable/icon_logout.png new file mode 100644 index 0000000000000000000000000000000000000000..a15ce8ce5187c1d11b1a6a4da78d92ff361a24ef Binary files /dev/null and b/app/src/main/res/drawable/icon_logout.png differ diff --git a/app/src/main/res/drawable/tutorial_juego1.jpeg b/app/src/main/res/drawable/tutorial_juego1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9243c7c1a4beeeb52fa0d7a090c05314f8e214b7 Binary files /dev/null and b/app/src/main/res/drawable/tutorial_juego1.jpeg differ diff --git a/app/src/main/res/drawable/tutorial_juego2.jpeg b/app/src/main/res/drawable/tutorial_juego2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c8ac8b2adbf696072acbb748a47d0f9848f1a8f5 Binary files /dev/null and b/app/src/main/res/drawable/tutorial_juego2.jpeg differ diff --git a/app/src/main/res/layout/activity_armeria.xml b/app/src/main/res/layout/activity_armeria.xml index 7d95bdca2f808008d239f683b955f57908cbf9c1..1b3ea73ad026222ce7f3401da9072ae9ac7d482f 100644 --- a/app/src/main/res/layout/activity_armeria.xml +++ b/app/src/main/res/layout/activity_armeria.xml @@ -475,16 +475,6 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintBottom_toBottomOf="parent"> - <ImageButton - android:id="@+id/leaderboardButton" - android:layout_width="0dp" - android:layout_height="60dp" - android:layout_weight="1" - android:background="?attr/selectableItemBackground" - android:src="@drawable/icon_leaderboard" - android:contentDescription="Abre el mapa" - android:padding="5dp" - android:scaleType="fitCenter" /> <ImageButton android:id="@+id/mapButton" @@ -498,16 +488,7 @@ android:layout_marginStart="40dp" android:scaleType="fitCenter" /> - <ImageButton - android:id="@+id/shopButton" - android:layout_width="0dp" - android:layout_height="60dp" - android:layout_weight="1" - android:background="?attr/selectableItemBackground" - android:src="@drawable/icon_shop" - android:contentDescription="Abre la tienda" - android:padding="5dp" - android:scaleType="fitCenter" /> + </LinearLayout> </androidx.constraintlayout.widget.ConstraintLayout> diff --git a/app/src/main/res/layout/activity_exploradores_de_pintia.xml b/app/src/main/res/layout/activity_exploradores_de_pintia.xml index 53788c11f637adfa290fe052a7813d2c40917668..14809695ad55b949579b202ac715015361e11c1a 100644 --- a/app/src/main/res/layout/activity_exploradores_de_pintia.xml +++ b/app/src/main/res/layout/activity_exploradores_de_pintia.xml @@ -352,7 +352,7 @@ android:background="?attr/selectableItemBackground" android:src="@drawable/icon_event" android:contentDescription="Abre la zona de eventos" - android:layout_marginEnd="40dp" + android:layout_marginEnd="0dp" android:padding="5dp" android:scaleType="fitCenter"/> @@ -367,6 +367,17 @@ android:padding="5dp" android:scaleType="fitCenter"/> + <ImageButton + android:id="@+id/tutorialButton" + android:layout_width="0dp" + android:layout_height="50dp" + android:layout_weight="1" + android:background="?attr/selectableItemBackground" + android:src="@drawable/asi_exploradores_interrogacion" + android:contentDescription="Abre el inventario" + android:padding="5dp" + android:scaleType="fitCenter"/> + </LinearLayout> <GridLayout diff --git a/app/src/main/res/layout/activity_leaderboard.xml b/app/src/main/res/layout/activity_leaderboard.xml index 5ef1f92e2c46c86fac1a58f304b8ef19b5f1788c..4a88afa1c43b3f52ada683bb3816bcc332159973 100644 --- a/app/src/main/res/layout/activity_leaderboard.xml +++ b/app/src/main/res/layout/activity_leaderboard.xml @@ -41,16 +41,7 @@ android:background="@drawable/style_background_gradiente" android:orientation="horizontal"> - <ImageButton - android:id="@+id/leaderboardButton" - android:layout_width="0dp" - android:layout_height="60dp" - android:layout_weight="1" - android:background="?attr/selectableItemBackground" - android:src="@drawable/icon_leaderboard" - android:contentDescription="Abre el mapa" - android:padding="5dp" - android:scaleType="fitCenter"/> + <ImageButton android:id="@+id/mapButton" @@ -65,7 +56,7 @@ android:scaleType="fitCenter"/> <ImageButton - android:id="@+id/shopButton" + android:id="@+id/logoutButton" android:layout_width="0dp" android:layout_height="60dp" android:layout_weight="1" @@ -73,7 +64,8 @@ android:src="@drawable/icon_shop" android:contentDescription="Abre la tienda" android:padding="5dp" - android:scaleType="fitCenter"/> + android:scaleType="fitCenter" + android:visibility="gone"/> </LinearLayout> diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 3455f42dce88d5cb7f2fa86883358022952e2f4c..b1f279f436f842a68ac1c163f024458560f7cd70 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -30,25 +30,15 @@ android:textStyle="bold" tools:ignore="HardcodedText" /> - <Button - android:id="@+id/loginButton" - android:layout_width="300dp" - android:layout_height="wrap_content" - android:layout_marginTop="30dp" - android:backgroundTint="@color/pintiaButton" - android:textColor="@color/pintiaButtonText" - android:text="Iniciar Sesión" - tools:ignore="HardcodedText" - android:textStyle="bold" - /> + <Button android:id="@+id/signInButton" - android:layout_width="300dp" + android:layout_width="200dp" android:layout_height="wrap_content" - android:layout_marginTop="5dp" + android:layout_marginTop="15dp" android:backgroundTint="@color/pintiaButton" android:textColor="@color/pintiaButtonText" - android:text="Registrarse (ahora es la lista de minijuegos)" + android:text="Iniciar sesión" tools:ignore="HardcodedText" android:textStyle="bold" /> diff --git a/app/src/main/res/layout/activity_map.xml b/app/src/main/res/layout/activity_map.xml index a734b0912e2f23469fcf36140c62fca2aa1cda60..9107fa25c5a46f9ecd13e930a427e21f06309990 100644 --- a/app/src/main/res/layout/activity_map.xml +++ b/app/src/main/res/layout/activity_map.xml @@ -48,7 +48,7 @@ android:layout_height="127dp" android:layout_alignParentStart="true" android:layout_alignParentBottom="true" - android:layout_marginStart="169dp" + android:layout_marginStart="149dp" android:layout_marginBottom="380dp" android:contentDescription="cartel aventura" android:elevation="100dp" @@ -81,7 +81,7 @@ android:layout_alignParentStart="true" android:layout_alignParentBottom="true" android:layout_marginStart="199dp" - android:layout_marginBottom="540dp" + android:layout_marginBottom="500dp" android:contentDescription="cartel aventura" android:elevation="100dp" android:fontFamily="@font/pixeled" @@ -103,7 +103,8 @@ android:fontFamily="@font/pixeled" android:scaleType="fitCenter" android:src="@drawable/texto_entrenar" - android:textColor="@color/pintiaTitleText" /> + android:textColor="@color/pintiaTitleText" + android:visibility="gone"/> <LinearLayout android:id="@+id/top_navigation" @@ -193,7 +194,7 @@ android:src="@drawable/icon_map" /> <ImageButton - android:id="@+id/shopButton" + android:id="@+id/logoutButton" android:layout_width="0dp" android:layout_height="60dp" android:layout_weight="1" @@ -201,7 +202,7 @@ android:contentDescription="Abre la tienda" android:padding="5dp" android:scaleType="fitCenter" - android:src="@drawable/icon_shop" /> + android:src="@drawable/icon_logout" /> </LinearLayout> diff --git a/app/src/main/res/layout/activity_register.xml b/app/src/main/res/layout/activity_register.xml index 63abc17d36fe18ce50a1ea46eb76d0cc42630538..d181f18ab39dc722929841ef26a18c16730c904d 100644 --- a/app/src/main/res/layout/activity_register.xml +++ b/app/src/main/res/layout/activity_register.xml @@ -5,7 +5,7 @@ android:layout_height="match_parent" android:orientation="vertical" android:gravity="center" - + android:id="@+id/linearLayout" android:background="@color/pintiaBackground" android:padding="16dp"> diff --git a/app/src/main/res/layout/activity_ruleta.xml b/app/src/main/res/layout/activity_ruleta.xml index 9e2c9522511761087f3dae9fec7f8bb0df5a2f41..1024a6493ce65243d688e2baed81fe9246358d48 100644 --- a/app/src/main/res/layout/activity_ruleta.xml +++ b/app/src/main/res/layout/activity_ruleta.xml @@ -26,11 +26,12 @@ android:layout_width="0dp" android:layout_height="0dp" android:contentDescription="Puntero de la ruleta" - android:rotation="180" android:src="@drawable/asi_ruleta_puntero" app:layout_constraintWidth_default="percent" - app:layout_constraintWidth_percent="0.1" - app:layout_constraintDimensionRatio="1:1" + app:layout_constraintWidth_percent="0.2" + app:layout_constraintDimensionRatio="2:1" + + app:layout_constraintTop_toBottomOf="@id/ruletaTitulo" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" /> diff --git a/app/src/main/res/layout/activity_taberna.xml b/app/src/main/res/layout/activity_taberna.xml index 1530f40de36c94ac5d21daceaa14b6a2c55fa286..b3558fe793eeb171658771398dc9e347d3677824 100644 --- a/app/src/main/res/layout/activity_taberna.xml +++ b/app/src/main/res/layout/activity_taberna.xml @@ -127,16 +127,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintBottom_toBottomOf="parent"> - <ImageButton - android:id="@+id/leaderboardButton" - android:layout_width="0dp" - android:layout_height="60dp" - android:layout_weight="1" - android:background="?attr/selectableItemBackground" - android:src="@drawable/icon_leaderboard" - android:contentDescription="Abre el mapa" - android:padding="5dp" - android:scaleType="fitCenter" /> + <ImageButton android:id="@+id/mapButton" @@ -150,16 +141,7 @@ android:layout_marginStart="40dp" android:scaleType="fitCenter" /> - <ImageButton - android:id="@+id/shopButton" - android:layout_width="0dp" - android:layout_height="60dp" - android:layout_weight="1" - android:background="?attr/selectableItemBackground" - android:src="@drawable/icon_shop" - android:contentDescription="Abre la tienda" - android:padding="5dp" - android:scaleType="fitCenter" /> + </LinearLayout> diff --git a/app/src/main/res/layout/activity_tienda.xml b/app/src/main/res/layout/activity_tienda.xml index 97a20b6e8872269f02eeb0034d7139804ad49980..4e05b9169ae8baf73ee6901b026fa5be8906ed05 100644 --- a/app/src/main/res/layout/activity_tienda.xml +++ b/app/src/main/res/layout/activity_tienda.xml @@ -474,16 +474,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintBottom_toBottomOf="parent"> - <ImageButton - android:id="@+id/leaderboardButton" - android:layout_width="0dp" - android:layout_height="60dp" - android:layout_weight="1" - android:background="?attr/selectableItemBackground" - android:src="@drawable/icon_leaderboard" - android:contentDescription="Abre el mapa" - android:padding="5dp" - android:scaleType="fitCenter" /> + <ImageButton android:id="@+id/mapButton" @@ -497,16 +488,7 @@ android:layout_marginStart="40dp" android:scaleType="fitCenter" /> - <ImageButton - android:id="@+id/shopButton" - android:layout_width="0dp" - android:layout_height="60dp" - android:layout_weight="1" - android:background="?attr/selectableItemBackground" - android:src="@drawable/icon_shop" - android:contentDescription="Abre la tienda" - android:padding="5dp" - android:scaleType="fitCenter" /> + </LinearLayout> </androidx.constraintlayout.widget.ConstraintLayout> diff --git a/app/src/main/res/layout/modal_confirmacion.xml b/app/src/main/res/layout/modal_confirmacion.xml index cc304fe59e5502b2fd3e7cc799e056537d36a088..73e21b3aeb2a195c63d0a111ef65c9b0eb4d51dd 100644 --- a/app/src/main/res/layout/modal_confirmacion.xml +++ b/app/src/main/res/layout/modal_confirmacion.xml @@ -11,7 +11,7 @@ <LinearLayout android:id="@+id/mainArea" - android:layout_width="match_parent" + android:layout_width="wrap_content" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical" @@ -62,22 +62,22 @@ android:layout_height="wrap_content" android:gravity="center" android:layout_marginTop="20dp" - android:orientation="horizontal"> + android:orientation="vertical"> <Button android:id="@+id/botonMejorar" - android:layout_width="135dp" + android:layout_width="145dp" android:layout_height="wrap_content" android:backgroundTint="@color/pintiaButton" android:textColor="@color/pintiaButtonText" android:text="Mejorar" android:fontFamily="@font/pixeled" - android:layout_marginEnd="10dp" + android:layout_marginEnd="0dp" android:textStyle="bold"/> <Button android:id="@+id/botonCancelar" - android:layout_width="135dp" + android:layout_width="145dp" android:layout_height="wrap_content" android:backgroundTint="#c44841" android:textColor="@color/pintiaButtonText" diff --git a/app/src/main/res/layout/modal_juego_tutorial.xml b/app/src/main/res/layout/modal_juego_tutorial.xml new file mode 100644 index 0000000000000000000000000000000000000000..8959aedc61132202ed1906b0b529032ebe2921fa --- /dev/null +++ b/app/src/main/res/layout/modal_juego_tutorial.xml @@ -0,0 +1,139 @@ +<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="@drawable/style_background_gradiente" + android:padding="10dp" + tools:ignore="HardcodedText, UseCompoundDrawables,ButtonStyle"> + + <ScrollView + android:layout_width="match_parent" + android:layout_height="match_parent" + android:fillViewport="true" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + + <LinearLayout + android:id="@+id/mainArea" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:gravity="center" + android:orientation="vertical"> + + <TextView + android:id="@+id/nombreTitulo" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="10dp" + android:layout_marginBottom="10dp" + android:fontFamily="@font/pixeled" + android:shadowColor="#000000" + android:shadowDx="2" + android:shadowDy="2" + android:shadowRadius="4" + android:text="Exploradorores de pintia." + android:textAlignment="center" + android:textColor="#6A0000" + android:textSize="24sp" + android:textStyle="bold" /> + + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:layout_marginBottom="10dp" + android:background="#000000" /> + + <TextView + android:id="@+id/textoDescripcion2" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="3dp" + android:fontFamily="@font/pixeled" + android:padding="8dp" + android:text="Bienvenido a exploradores de pintia, eres un explorador, tu mision es conseguir reliquias, ten cuidado con los peligros que te puedas encontrar." + android:textAlignment="center" + android:textColor="#000000" + android:textSize="20sp" /> + <androidx.cardview.widget.CardView + android:id="@+id/foto1" + android:layout_width="150dp" + android:layout_height="150dp" + android:layout_margin="5dp" + android:elevation="0dp" + app:cardCornerRadius="10dp"> + + <ImageView + android:id="@+id/imagenBien" + android:layout_width="150dp" + android:layout_height="150dp" + android:contentDescription="Slot de equipo 1" + android:scaleType="centerCrop" + android:scaleX="1" + android:src="@drawable/tutorial_juego1"/> + + + + </androidx.cardview.widget.CardView> + <TextView + android:id="@+id/textoDescripcion1" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="3dp" + android:fontFamily="@font/pixeled" + android:padding="8dp" + android:text="Pulsa el icono de la mochila para abrir el inventario." + android:textAlignment="center" + android:textColor="#000000" + android:textSize="20sp" /> + <androidx.cardview.widget.CardView + android:id="@+id/foto2" + android:layout_width="150dp" + android:layout_height="150dp" + android:layout_margin="5dp" + android:elevation="0dp" + app:cardCornerRadius="10dp"> + + <ImageView + android:id="@+id/imagenBomba" + android:layout_width="150dp" + android:layout_height="150dp" + android:contentDescription="Slot de equipo 1" + android:scaleType="centerCrop" + android:scaleX="1" + android:src="@drawable/tutorial_juego2"/> + + </androidx.cardview.widget.CardView> + + + + + <TextView + android:id="@+id/textoDescripcion" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="3dp" + android:fontFamily="@font/pixeled" + android:padding="8dp" + android:text="Manten pulsado la barra de vida para ver mas detalles sobre ti." + android:textAlignment="center" + android:textColor="#000000" + android:textSize="20sp" /> + + + <Button + android:id="@+id/cerrar" + android:layout_width="135dp" + android:layout_height="wrap_content" + android:layout_marginTop="20dp" + android:backgroundTint="@color/pintiaButton" + android:fontFamily="@font/pixeled" + android:text="Cerrar" + android:textColor="@color/pintiaButtonText" + android:textStyle="bold" /> + + </LinearLayout> + </ScrollView> + +</androidx.constraintlayout.widget.ConstraintLayout> diff --git a/app/src/main/res/layout/modal_minijuego2_tutorial.xml b/app/src/main/res/layout/modal_minijuego2_tutorial.xml index 15f0c6e3e65f33d455b8126d66bada23fd007ff9..68e59becaba385e5151059c1fb8ea05d81a152ca 100644 --- a/app/src/main/res/layout/modal_minijuego2_tutorial.xml +++ b/app/src/main/res/layout/modal_minijuego2_tutorial.xml @@ -92,7 +92,7 @@ android:layout_marginTop="3dp" android:fontFamily="@font/pixeled" android:padding="8dp" - android:text="Vuela con el explorador, manten pulsado para subir y suelta para bajar, intenta no chocarte con los pilares." + android:text="Vuela con el explorador, pulsa para subir y suelta para bajar, intenta no chocarte con los pilares." android:textAlignment="center" android:textColor="#000000" android:textSize="20sp" /> diff --git a/app/src/main/res/raw/sound_cofre.flac b/app/src/main/res/raw/sound_cofre.flac deleted file mode 100644 index b7475f286f76c483a0483e7928fe44d986d32a5d..0000000000000000000000000000000000000000 Binary files a/app/src/main/res/raw/sound_cofre.flac and /dev/null differ diff --git a/app/src/main/res/raw/sound_cofre.mp3 b/app/src/main/res/raw/sound_cofre.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..87ed1808e5ba5330542279af1a860a1dddac8fed Binary files /dev/null and b/app/src/main/res/raw/sound_cofre.mp3 differ diff --git a/app/src/main/res/raw/sound_dano.mp3 b/app/src/main/res/raw/sound_dano.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..a97500921c38279356e01ea4472b95efcb875031 Binary files /dev/null and b/app/src/main/res/raw/sound_dano.mp3 differ diff --git a/app/src/main/res/raw/sound_habilidad.mp3 b/app/src/main/res/raw/sound_habilidad.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..ea6c60cbdfa9d0c766c8b2e62927fa8caad51cca Binary files /dev/null and b/app/src/main/res/raw/sound_habilidad.mp3 differ diff --git a/app/src/main/res/raw/sound_leader.mp3 b/app/src/main/res/raw/sound_leader.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..af7c83e083dcc9ece188a8f0854caf4b87996aae Binary files /dev/null and b/app/src/main/res/raw/sound_leader.mp3 differ diff --git a/app/src/main/res/raw/sound_login.mp3 b/app/src/main/res/raw/sound_login.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..92739ca792acb15612bc4b0e62e675f386ed7f85 Binary files /dev/null and b/app/src/main/res/raw/sound_login.mp3 differ diff --git a/app/src/main/res/raw/sound_veneno2.mp3 b/app/src/main/res/raw/sound_veneno2.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..bfd245a2a7252aaafad5c15f9f4a382e506db249 Binary files /dev/null and b/app/src/main/res/raw/sound_veneno2.mp3 differ diff --git a/app/src/main/res/raw/sound_vida.mp3 b/app/src/main/res/raw/sound_vida.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..235c2435c6497d4ba33d85df36b9976fc49e8464 Binary files /dev/null and b/app/src/main/res/raw/sound_vida.mp3 differ