package Ġar . com . play 2 play . presentation . tr u co Ċ Ċ import Ġar . com . play 2 play . model . tr u co . Card Ċ import Ġar . com . play 2 play . model . tr u co . Suit Ċ Ċ object ĠTr u co Cards Ch all enger Ġ{ ĊĊĠĠĠ Ġval Ġace Of S words Ġ= ĠCard ( 1 , ĠS uit . S WORDS ) ĊĠĠĠ Ġprivate Ġval Ġace Of Club s Ġ= ĠCard ( 1 , ĠS uit . CL UB S ) ĊĠĠĠ Ġprivate Ġval Ġseven Of S words Ġ= ĠCard ( 7 , ĠS uit . S WORDS ) ĊĠĠĠ Ġprivate Ġval Ġseven Of Gold s Ġ= ĠCard ( 7 , ĠS uit . G OL DS ) ĊĠĠĠ Ġprivate Ġval Ġspecial Cards Ġ= ĠlistOf ( ace Of S words , Ġace Of Club s , Ġseven Of S words , Ġseven Of Gold s ) ĊĠĠĠ Ġprivate Ġval Ġcard Number Order Ġ= ĠlistOf ( 3 , Ġ 2 , Ġ 1 , Ġ 1 2 , Ġ 1 1 , Ġ 1 0 , Ġ 7 , Ġ 6 , Ġ 5 , Ġ 4 ) ĊĊĠĠĠ Ġfun Ġget Winner Cards ( cards : ĠList < Card >) Ġ= Ġcards ĊĠĠĠĠĠĠĠ Ġ. groupBy Ġ{ Ġget Card Score ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġ. toList () ĊĠĠĠĠĠĠĠ Ġ. min By OrNull Ġ{ Ġ( score , Ġ_) Ġ-> Ġscore Ġ} !! ĊĠĠĠĠĠĠĠ Ġ. second ĊĊĠĠĠ Ġprivate Ġfun Ġget Card Score ( card : ĠCard ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġspecial Cards . indexOf ( card ). take If Ġ{ Ġit Ġ>= Ġ 0 Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġspecial Cards . size Ġ+ Ġcard Number Order . indexOf ( card . number ) ĊĠĠĠ Ġ} Ċ } Ċ