fcamuso

Kotlin video 26

Aug 21st, 2025
386
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 1.52 KB | None | 0 0
  1. import java.io.File
  2. import java.io.FileWriter
  3. import java.io.InvalidObjectException
  4. import javax.management.ImmutableDescriptor
  5. import kotlin.random.Random
  6.  
  7. open class Arma(var nome: String, protected open var dannoBase: Int = 1) {
  8.  
  9.     init { require(dannoBase>=0) }
  10.  
  11.  
  12.     //costrutture secondario che assicura univocitΓ  del nome scelto per l'arma
  13.     constructor (uniqueName: String) : this(uniqueName,0)
  14.     {
  15.         //logica che verifica che nessun'altra arma sia stata chiamatata
  16.         //con lo stesso nome; se scopre
  17.         println("passato di qui")
  18.  
  19.     }
  20.  
  21.     open fun spara() {
  22.         println("Danno cinetico: $dannoBase")
  23.     }
  24. }
  25.  
  26. class ArmaElettrica  : Arma {
  27.     override  var dannoBase : Int = 2
  28.         get() {return field;}
  29.         set(value) {field = value}
  30.  
  31.     var livelloDannoElementale: Int = 1
  32.  
  33.     constructor(nome: String, livelloDannoElementale: Int) : super("")
  34.     {
  35.         require(livelloDannoElementale in 1..5)
  36.         this.livelloDannoElementale = livelloDannoElementale
  37.     }
  38.  
  39.     constructor() : this("", 4) {}
  40.  
  41.     fun metodoClasseFiglia() {
  42.         //println(dannoBase)
  43.     }
  44.  
  45.     override fun spara() {
  46.         super.spara()
  47.         println("Danno ELETTRICO: ${dannoBase+10*livelloDannoElementale}")
  48.     }
  49.     }
  50.  
  51.  
  52. fun main() {
  53.  
  54. //val unArmaElettrica = ArmaElettrica()
  55.  
  56.     //println("${unArmaElettrica.nome} ${unArmaElettrica.metodoClasseFiglia()}" )
  57.     //unArmaElettrica.spara()
  58.  
  59.     val unArma = ArmaElettrica("boom", 5)
  60.     println(unArma.spara())
  61.  
  62.  
  63. }
Advertisement
Add Comment
Please, Sign In to add comment