coin
Daniyar Mukhanov
package com.example.coinflipper
import android.os.Bundle
import android.os.CountDownTimer
import android.widget.Button
import android.widget.ImageView
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
class MainActivity : AppCompatActivity() {
val flipButton by lazy { findViewById<Button>(R.id.button) }
val image by lazy { findViewById<ImageView>(R.id.coin) }
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val coin = LuckyCoin()
flipButton.setOnClickListener {
val x = coin.spin()
it.isEnabled = false
var mode = 0
object : CountDownTimer(2000, 200) {
override fun onTick(millisUntilFinished: Long) {
when (mode % 4) {
0 -> {
setAverse()
mode++
}
1 -> {
setHalfAverse()
mode++
}
2 -> {
setReverse()
mode++
}
3 -> {
setHalfReverse()
mode++
}
}
}
override fun onFinish() {
if (x == 0) setReverse() else setAverse()
flipButton.text = "Flip"
it.isEnabled = true
}
}.start()
}
}
private fun setReverse() {
image.setImageDrawable(ContextCompat.getDrawable(this@MainActivity, R.drawable.ic_revers))
}
private fun setAverse() {
image.setImageDrawable(ContextCompat.getDrawable(this@MainActivity, R.drawable.ic_avers))
}
private fun setHalfAverse() {
image.setImageDrawable(ContextCompat.getDrawable(this@MainActivity, R.drawable.ic_avers_2))
}
private fun setHalfReverse() {
image.setImageDrawable(ContextCompat.getDrawable(this@MainActivity, R.drawable.ic_revers_2))
}
}
class LuckyCoin {
fun spin(): Int {
return (0..1).random()
}
}