package com.example.juegotocame 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_tocame.* class JuegoTocameActivity : 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_tocame) val intentRecibido : Intent = intent /**Recibe Intent**/ jugadorActual = intentRecibido.getStringExtra("jugador") jugadorRecord = intentRecibido.getStringExtra("jugadorAntiguo") jugadorPuntajeRecord = intentRecibido.getIntExtra("jugadorRecordA", 0) jugadorIngresado.text = "Bienvenido $jugadorActual" campeon.text = "Record Anterior \n$jugadorRecord: $jugadorPuntajeRecord" jugar.setOnClickListener { botonTorturado.isVisible = true botonTorturado.isEnabled = true volverInicio.isVisible = false campeon.isVisible = false puntos = 0 empiezaConteo() } botonTorturado.setOnClickListener { puntos = puntos + 1 puntajeJuego.setText("Puntos Acumulados: ${puntos}") } volverInicio.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 onCreate fun empiezaConteo() { object : CountDownTimer(tiempo, 1000) { /**onTick se encarga de que el contador disminuya relacion a 1000 ms**/ override fun onTick(millisUntilFinished: Long) { tiempoTexto.setText("00:${millisUntilFinished / 1000}") jugar.isEnabled = false if (millisUntilFinished <= tiempo * 0.6) seAcabaElTiempo.setText("Se te acaba el tiempo Crack!") } /**onFinish es un metodo que al terminar de contar puede realizar algun procedimiento **/ override fun onFinish() { tiempoTexto.setText("Opama che KP!") jugar.isEnabled = true botonTorturado.isEnabled = false if (jugadorPuntajeRecord < puntos) { puntajeJuego.setText ("$jugadorActual: $puntos\nSupero el Record de $jugadorRecord: $jugadorPuntajeRecord") jugadorRecord = jugadorActual jugadorPuntajeRecord = puntos } else { puntajeJuego.setText("$jugadorActual: $puntos") } botonTorturado.isEnabled = false volverInicio.isVisible = true } }.start() } }