package com.example.juegotocame import android.animation.ObjectAnimator import android.app.Activity import android.content.Intent import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.os.CountDownTimer import androidx.core.view.isVisible import kotlinx.android.synthetic.main.activity_juego_persigueme.* class JuegoPersiguemeActivity : AppCompatActivity() { internal val tiempo : Long = 15_000 internal var puntos : Int = 0 internal var jugadorPuntajeRecord = 0 internal lateinit var jugadorRecord : String internal lateinit var jugadorActual : String override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_juego_persigueme) val intentRecibido : Intent = intent /**Recibe Intent**/ jugadorActual = intentRecibido.getStringExtra("jugador") jugadorRecord = intentRecibido.getStringExtra("jugadorAntiguo") jugadorPuntajeRecord = intentRecibido.getIntExtra("jugadorRecordA", 0) jugadorIngresado2.text = "Bienvenido $jugadorActual" campeon2.text = "Record Anterior \n$jugadorRecord: $jugadorPuntajeRecord" jugar2.setOnClickListener { botonEscurridizo.isVisible = true botonEscurridizo.isEnabled =true volverInicio2.isVisible = false campeon2.isVisible = false jugar2.isVisible = false puntos = 0 empiezaConteo() } botonEscurridizo.setOnClickListener { puntos += 1 puntajeJuego2.setText("Puntos Acumulados: ${puntos}") ObjectAnimator.ofFloat(botonEscurridizo, "translationX", ((-200..200).random()).toFloat()).apply { duration = 100 start() } ObjectAnimator.ofFloat(botonEscurridizo, "translationY", ((-200..700).random()).toFloat()).apply { duration = 100 start() } } volverInicio2.setOnClickListener { val devolverCampeon : Intent = Intent() devolverCampeon.putExtra("jugador_finalizo",jugadorActual) devolverCampeon.putExtra("puntaje", puntos) devolverCampeon.putExtra("campeonNuevo", jugadorRecord) devolverCampeon.putExtra("campeonRecord", jugadorPuntajeRecord) setResult(Activity.RESULT_OK,devolverCampeon) finish() } }//fin de onCreate fun empiezaConteo() { object : CountDownTimer(tiempo, 1000) { /**onTick se encarga de que el contador disminuya relacion a 1000 ms**/ override fun onTick(millisUntilFinished: Long) { tiempoTexto2.setText("00:${millisUntilFinished / 1000}") jugar2.isEnabled = false if (millisUntilFinished <= tiempo * 0.6) seAcabaElTiempo2.setText("Se te acaba el tiempo Crack!") } /**onFinish es un metodo que al terminar de contar puede realizar algun procedimiento **/ override fun onFinish() { tiempoTexto2.setText("Opama che KP!") jugar2.isEnabled = true botonEscurridizo.isEnabled = false if (jugadorPuntajeRecord < puntos) { puntajeJuego2.setText ("$jugadorActual: $puntos\nSupero el Record de $jugadorRecord: $jugadorPuntajeRecord") jugadorRecord = jugadorActual jugadorPuntajeRecord = puntos } else { puntajeJuego2.setText("$jugadorActual: $puntos") } botonEscurridizo.isVisible = false volverInicio2.isVisible = true jugar2.isVisible = true } }.start() } }