Kyaria

Song.kt

Jun 11th, 2019
764
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 1.48 KB | None | 0 0
  1. open class Song(val titel: String, val interpret: String, val spieldauer: Int, _bewertung: Int) {
  2.  
  3.     var bewertung = _bewertung
  4.         set(value) {
  5.             if (value < 0)
  6.                 field = 0
  7.             else if (value > 100)
  8.                 field = 100
  9.             else
  10.                 field = value
  11.         }
  12.  
  13.     open fun abspielen() {
  14.  
  15.         var decke: Int
  16.  
  17.         if (spieldauer % 60 == 0)
  18.             decke = spieldauer / 60
  19.         else
  20.             decke = spieldauer / 60 + 1
  21.  
  22.         for (i in 1..decke)
  23.             println("Spiele: $titel von $interpret (Bewertung: $bewertung Punkte)")
  24.     }
  25.  
  26.     fun change(newValue: Int) {
  27.  
  28.         bewertung = newValue
  29.     }
  30.  
  31.     open fun search(searchString: String): Boolean =
  32.         titel.contains(searchString) || interpret.contains(searchString)
  33.  
  34. }
  35.  
  36. class SongMitText(titelParam: String, interpretParam: String, spieldauerParam: Int, bewertungParam: Int, var textzeile: String) : Song(titelParam, interpretParam, spieldauerParam, bewertungParam){
  37.  
  38.     override fun search(searchString: String): Boolean =
  39.         titel.contains(searchString) || interpret.contains(searchString)|| textzeile.contains(searchString)
  40.  
  41. }
  42.  
  43. class SongMitAutobewertung(titelParam: String, interpretParam: String, spieldauerParam: Int, bewertungParam: Int) : Song(titelParam, interpretParam, spieldauerParam, bewertungParam){
  44.  
  45.     override fun abspielen() {
  46.  
  47.         super.change(bewertung + 1)
  48.         super.abspielen()
  49.     }
  50. }
Advertisement