JuegoPersiguemeActivity.kt 3.87 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
    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()
        }
}