package Ġtg its . work outs . basic Ċ Ċ // Code Ġadapted Ġfrom Ġ: Ġhttps :// blog . fr ank el . ch / rolling - dice - kotlin / Ċ Ċ import Ġjava . util .* Ċ import Ġjava . security . Secure Random Ċ Ċ interface ĠRoll able < T > Ġ{ ĊĠĠĠ Ġfun Ġroll (): ĠT Ċ } Ċ Ċ open Ġclass ĠDie ( val Ġsides : ĠInt , Ġprivate Ġval Ġrandom : ĠRandom Ġ= ĠSecure Random ()): ĠRoll able < Int > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġroll () Ġ= Ġrandom . nextInt ( sides ) Ġ+ Ġ 1 Ċ } Ċ Ċ object Ġd 2 : ĠDie ( 2 ) Ċ object Ġd 4 : ĠDie ( 4 ) Ċ object Ġd 6 : ĠDie ( 6 ) Ċ object Ġd 8 : ĠDie ( 8 ) Ċ object Ġd 1 0 : ĠDie ( 1 0 ) Ċ object Ġd 1 2 : ĠDie ( 1 2 ) Ċ object Ġd 2 0 : ĠDie ( 2 0 ) Ċ object Ġd 1 0 0 : ĠDie ( 1 0 0 ) Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ Ġprintln ("\ n \ n Dice , ĠD ice , ĠB aby Ġ! \ n \ n ") ĊĠĠĠ Ġprintln (" roll Ġthe ĠD 4 Ġ${ d 4 . roll () }") ĊĠĠĠ Ġprintln (" roll Ġthe ĠD 6 Ġ${ d 6 . roll () }") ĊĠĠĠ Ġprintln (" roll Ġthe ĠD 8 Ġ${ d 8 . roll () }") ĊĠĠĠ Ġprintln (" roll Ġthe ĠD 1 0 Ġ${ d 1 0 . roll () }") ĊĠĠĠ Ġprintln (" roll Ġthe ĠD 1 2 Ġ${ d 1 2 . roll () }") ĊĠĠĠ Ġprintln (" roll Ġthe ĠD 2 0 Ġ${ d 2 0 . roll () }") ĊĠĠĠ Ġprintln (" roll Ġthe ĠD 1 0 0 Ġ${ d 1 0 0 . roll () }") Ċ }