package Ġorg . ig ors mot to . kar iba . cli . commands Ċ Ċ import Ġcom . github . aj alt . cli kt . core . Cli kt Command Ċ import Ġcom . github . aj alt . cli kt . parameters . arguments . argument Ċ import Ġcom . github . aj alt . cli kt . parameters . arguments . multiple Ċ import Ġcom . github . aj alt . cli kt . parameters . options . default Ċ import Ġcom . github . aj alt . cli kt . parameters . options . option Ċ import Ġcom . github . aj alt . cli kt . parameters . types . int Ċ import Ġorg . ig ors mot to . kar iba . use cases . Start Game Ċ Ċ class ĠPlay Game ( ĊĠ Ġprivate Ġval Ġstart Game : ĠStart Game Ċ ) Ġ: ĠCli kt Command ( name Ġ= Ġ" start ", Ġhelp Ġ= Ġ" Start Ġa Ġnew Ġgame ") Ġ{ ĊĊĠ Ġprivate Ġval Ġplayer Names : ĠList < String > Ġby Ġargument ( help Ġ= Ġ" Name Ġof ĠP layers "). multiple () ĊĠ Ġprivate Ġval Ġdeck Size : ĠInt Ġby Ġoption ("- s ", Ġ"-- size ", Ġhelp Ġ= Ġ" Size Ġof Ġthe Ġdeck "). int (). default ( 6 4 ) ĊĊĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠ Ġstart Game . execute ( player Names , Ġdeck Size ). fold ( ĊĠĠĠĠĠ ĠonSuccess Ġ= Ġ{ Ġecho (" Con grat ulations Ġ${ it . winner . name } Ġfor Ġwin ning ĠKar iba !! ") Ġ}, ĊĠĠĠĠĠ Ġon Failure Ġ= Ġ{ Ġecho (" Something Ġwent Ġwrong : Ġ${ it . message }") Ġ} ĊĠĠĠ Ġ) ĊĠ Ġ} Ċ }