Skip to content
Snippets Groups Projects
Commit f0a641d8 authored by victogo's avatar victogo
Browse files

Merge branch 'minijuego-2' into 'develop'

Feature:

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