Advertisement
AntonioVillanueva

Ejercicio dos dados en Kotlin

Nov 18th, 2021
1,122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 1.75 KB | None | 0 0
  1. package com.example.diceroller
  2.  
  3. import android.os.Bundle
  4. import android.support.v7.app.AppCompatActivity
  5. import android.widget.Button
  6. import android.widget.ImageView
  7.  
  8. class MainActivity : AppCompatActivity() {
  9.     override fun onCreate(savedInstanceState: Bundle?) {
  10.         super.onCreate(savedInstanceState)
  11.         setContentView(R.layout.activity_main)
  12.         val rollButton: Button =findViewById(R.id.button)
  13.  
  14.         //Cuando pulsa el boton se tiran los dados
  15.         rollButton.setOnClickListener { tiradaDado() }
  16.         tiradaDado() //Tiro el dado al inicio
  17.     }
  18.  
  19.     private fun tiradaDado() {
  20.  
  21.         //Crea variable , desde una vista una imagen de un dado
  22.         val dadoIzq: ImageView=findViewById(R.id.imageView)
  23.         val dadoDer: ImageView=findViewById(R.id.imageView3)
  24.         //Dependiendo del numero aleatorio muestra una cara
  25.         setImage(dadoIzq) //Dado Izquierdo
  26.         setImage(dadoDer) //Dado Derecho
  27.     }
  28. }
  29. //Cambia la imagen de un dado ,dado como parametro
  30. fun setImage(ImagenDado:ImageView){
  31.     //Dependiendo del numero aleatorio muestra una cara
  32.     when (Dado(6).tirada()){
  33.         1->  ImagenDado.setImageResource(R.drawable.dice_1)
  34.         2->  ImagenDado.setImageResource(R.drawable.dice_2)
  35.         3->  ImagenDado.setImageResource(R.drawable.dice_3)
  36.         4->  ImagenDado.setImageResource(R.drawable.dice_4)
  37.         5->  ImagenDado.setImageResource(R.drawable.dice_5)
  38.         6->  ImagenDado.setImageResource(R.drawable.dice_6)
  39.     }
  40. }
  41.  
  42. //Clase define un dado ,tirada retorna una cara aleatoria
  43. class Dado (val numCaras:Int){
  44.     fun tirada ():Int{//Funcion tirada retorna un valor Int aleatorio de cara
  45.         return (1..numCaras).random() //Retorna un valor aleatorio de 1 hasta numCaras
  46.     }
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement