package Ġar cs . tutorials . black jack Ċ Ċ // ĠDescri bes Ġa Ġcard Ġin Ġa Ġdeck . Ċ class ĠCard ( input Value : ĠInt Ġ= Ġ- 1 ) Ġ{ ĊĠĠĠ Ġval Ġvalue Ġ= Ġinput Value ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġrequire ( input Value Ġin Ġ- 1 Ġuntil Ġ 5 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= ĠCard . card Desc ( value ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcard Names Ġ= ĠarrayOf (" A ", Ġ" 2 ", Ġ" 3 ", Ġ" 4 ", Ġ" 5 ", Ġ" 6 ", Ġ" 7 ", Ġ" 8 ", Ġ" 9 ", Ġ" 1 0 ", Ġ" J ", Ġ" Q ", Ġ" K ") ĊĠĠĠĠĠĠĠ Ġvar Ġsuit Names Ġ= ĠarrayOf (" âĻ ¦ ", Ġ" âĻ ¥ ", Ġ" âĻ ł ", Ġ" âĻ £ ") ĊĠĠĠĠĠĠĠ Ġpublic Ġfun Ġcard Desc ( face Value : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( face Value Ġ== Ġ- 1 ) Ġreturn Ġ" J oker " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcard Names [ face Value Ġ% Ġ 1 3 ] Ġ+ Ġsuit Names [ face Value Ġ% Ġ 4 ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ