Skip to content
Snippets Groups Projects
Commit 29c26b2e authored by victor's avatar victor
Browse files

Feature:

arreglar minijuego2 para tuto dispositivi
parent 24424077
Branches
No related tags found
2 merge requests!65Feature:,!50Feature:
...@@ -27,6 +27,8 @@ class ListaMinijuegos : AppCompatActivity(){ ...@@ -27,6 +27,8 @@ class ListaMinijuegos : AppCompatActivity(){
val minijuego2Layout = findViewById<FrameLayout>(R.id.minijuego2) val minijuego2Layout = findViewById<FrameLayout>(R.id.minijuego2)
minijuego2Layout.setOnClickListener { minijuego2Layout.setOnClickListener {
val intent = Intent(this, Minijuego2::class.java) val intent = Intent(this, Minijuego2::class.java)
val flag = true
intent.putExtra("FLAG_KEY", flag)
startActivity(intent) startActivity(intent)
} }
......
...@@ -65,6 +65,7 @@ class Minijuego2 : AppCompatActivity() { ...@@ -65,6 +65,7 @@ class Minijuego2 : AppCompatActivity() {
nube = findViewById(R.id.nube) nube = findViewById(R.id.nube)
fondo1 = findViewById(R.id.fondo1) fondo1 = findViewById(R.id.fondo1)
fondo2 = findViewById(R.id.fondo2) fondo2 = findViewById(R.id.fondo2)
} }
private fun configurarAnimaciones() { private fun configurarAnimaciones() {
...@@ -82,8 +83,8 @@ class Minijuego2 : AppCompatActivity() { ...@@ -82,8 +83,8 @@ class Minijuego2 : AppCompatActivity() {
iniciarJuego() iniciarJuego()
protagonista.y = (layout.height / 2).toFloat() protagonista.y = (layout.height / 2).toFloat()
fondo2.x = fondo1.x + fondo1.width * 4 fondo2.x = fondo1.x + fondo1.width * 4
protagonista.x = protagonista.x + 40 protagonista.x = protagonista.x + (layout.width*0.1).toInt()
nube.x = protagonista.x + 30 nube.x = protagonista.x + (layout.width*0.03).toInt()
} }
} }
...@@ -176,32 +177,33 @@ class Minijuego2 : AppCompatActivity() { ...@@ -176,32 +177,33 @@ class Minijuego2 : AppCompatActivity() {
velocidad = 0f velocidad = 0f
} else if (nuevaPosicionY + protagonista.height < techoPantalla) { } else if (nuevaPosicionY + protagonista.height < techoPantalla) {
protagonista.y = nuevaPosicionY protagonista.y = nuevaPosicionY
nube.y = protagonista.y + 100 nube.y = protagonista.y + (layout.height*0.05).toInt()
} }
} }
private fun generarObstaculo() { private fun generarObstaculo() {
val anchuraPantalla = layout.width
val alturaPantalla = layout.height
val muroInferior = ImageView(this) val muroInferior = ImageView(this)
muroInferior.setBackgroundResource(R.drawable.asi_minijuego_2_muro) muroInferior.setBackgroundResource(R.drawable.asi_minijuego_2_muro)
val screenHeight = findViewById<View>(android.R.id.content).height val altualturaMuro = (alturaPantalla *(0.2f + Random.nextFloat() * (0.4f))).toInt()
val altualturaMuro = Random.nextInt(500, 1500)
// Configurar posición y tamaño de la tubería inferior // Configurar posición y tamaño de la tubería inferior
val layoutParams = RelativeLayout.LayoutParams(300, altualturaMuro) val layoutParams = RelativeLayout.LayoutParams((anchuraPantalla*0.3f).toInt(), altualturaMuro)
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT) layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT)
muroInferior.layoutParams = layoutParams muroInferior.layoutParams = layoutParams
muroInferior.x = layout.width.toFloat() muroInferior.x = layout.width.toFloat()
muroInferior.y = (screenHeight - altualturaMuro).toFloat() muroInferior.y = (alturaPantalla - altualturaMuro).toFloat()
layout.addView(muroInferior) layout.addView(muroInferior)
obstaculos.add(muroInferior) obstaculos.add(muroInferior)
// Generar la tubería superior // Generar la tubería superior
val muroSuperior = ImageView(this) val muroSuperior = ImageView(this)
muroSuperior.setBackgroundResource(R.drawable.asi_minijuego_2_muro) muroSuperior.setBackgroundResource(R.drawable.asi_minijuego_2_muro)
val alturaMuroSuperior = screenHeight - altualturaMuro - 500 val alturaMuroSuperior = (alturaPantalla - altualturaMuro - alturaPantalla*0.2).toInt()
muroSuperior.rotation = 180f muroSuperior.rotation = 180f
// Configurar posición y tamaño de la tubería superior // Configurar posición y tamaño de la tubería superior
val layoutParamsSuperior = RelativeLayout.LayoutParams(300, alturaMuroSuperior) val layoutParamsSuperior = RelativeLayout.LayoutParams((anchuraPantalla*0.3f).toInt(), alturaMuroSuperior)
layoutParamsSuperior.addRule(RelativeLayout.ALIGN_PARENT_RIGHT) layoutParamsSuperior.addRule(RelativeLayout.ALIGN_PARENT_RIGHT)
muroSuperior.layoutParams = layoutParamsSuperior muroSuperior.layoutParams = layoutParamsSuperior
muroSuperior.x = layout.width.toFloat() muroSuperior.x = layout.width.toFloat()
...@@ -215,14 +217,12 @@ class Minijuego2 : AppCompatActivity() { ...@@ -215,14 +217,12 @@ class Minijuego2 : AppCompatActivity() {
for (obstaculo in obstaculos) { for (obstaculo in obstaculos) {
obstaculo.x -= velObs // Mover obstáculo a la izquierda obstaculo.x -= velObs // Mover obstáculo a la izquierda
// Verificar si el protagonista pasa el obstáculo
if (obstaculo.x + obstaculo.width == protagonista.x && obstaculo.y < protagonista.y) {
puntuacion++
puntuacionTextView.text = "Puntuación: $puntuacion"
}
// Verificar si el obstáculo sale de la pantalla // Verificar si el obstáculo sale de la pantalla
if (obstaculo.x + obstaculo.width < 0) { if (obstaculo.x + obstaculo.width < 0) {
if(obstaculo.rotation ==180f){
puntuacion++
}
puntuacionTextView.text = "Puntuación: $puntuacion"
obstaculosAEliminar.add(obstaculo) // Agregar a la lista de eliminación obstaculosAEliminar.add(obstaculo) // Agregar a la lista de eliminación
} }
} }
...@@ -247,6 +247,7 @@ class Minijuego2 : AppCompatActivity() { ...@@ -247,6 +247,7 @@ class Minijuego2 : AppCompatActivity() {
} }
private fun detenerJuego() { private fun detenerJuego() {
val flag = intent.getBooleanExtra("FLAG_KEY", false)
jugando = false jugando = false
soundManager.stopSound() soundManager.stopSound()
soundManager.playSound(R.raw.sound_over, 100) soundManager.playSound(R.raw.sound_over, 100)
...@@ -260,8 +261,11 @@ class Minijuego2 : AppCompatActivity() { ...@@ -260,8 +261,11 @@ class Minijuego2 : AppCompatActivity() {
val animacion = AnimationUtils.loadAnimation(this, R.anim.animatitu) val animacion = AnimationUtils.loadAnimation(this, R.anim.animatitu)
botonReinicio.startAnimation(animacion) botonReinicio.startAnimation(animacion)
// Configurar el comportamiento del botón de reinicio if(flag){
botonReinicio.setOnClickListener { botonReinicio.setOnClickListener {
reiniciarJuego()
}
}else{
// Devuelve la puntuación actual y finaliza la actividad // Devuelve la puntuación actual y finaliza la actividad
val resultadoIntent = Intent() val resultadoIntent = Intent()
resultadoIntent.putExtra("PUNTUACION", puntuacion.toString()) resultadoIntent.putExtra("PUNTUACION", puntuacion.toString())
...@@ -270,8 +274,6 @@ class Minijuego2 : AppCompatActivity() { ...@@ -270,8 +274,6 @@ class Minijuego2 : AppCompatActivity() {
} }
} }
/*
private fun reiniciarJuego() { private fun reiniciarJuego() {
// Reiniciar variables del juego // Reiniciar variables del juego
puntuacion = 0 puntuacion = 0
...@@ -282,9 +284,10 @@ class Minijuego2 : AppCompatActivity() { ...@@ -282,9 +284,10 @@ class Minijuego2 : AppCompatActivity() {
for (obstaculo in obstaculos) { for (obstaculo in obstaculos) {
layout.removeView(obstaculo) // Eliminar cada obstáculo del layout layout.removeView(obstaculo) // Eliminar cada obstáculo del layout
} }
botonReinicio.clearAnimation()
botonReinicio.visibility = View.GONE // Ocultar botón de reinicio botonReinicio.visibility = View.GONE // Ocultar botón de reinicio
iniciarJuego() // Reiniciar el juego iniciarJuego() // Reiniciar el juego
}*/ }
private fun moverFondo() { private fun moverFondo() {
// Mueve ambos fondos hacia la izquierda // Mueve ambos fondos hacia la izquierda
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment