package Ġlab . mars . rl . util Ċ Ċ import Ġch . qos . log back . classic . Level Ċ import Ġch . qos . log back . classic . Logger Context Ċ import Ġlab . mars . rl . model . impl . md p . Indexed MD P Ċ import Ġlab . mars . rl . model . impl . md p . Indexed Policy Ċ import Ġlab . mars . rl . model . impl . md p . State Value Function Ċ import Ġorg . slf 4 j . Logger Ċ import Ġorg . slf 4 j . LoggerFactory Ċ Ċ /** Ċ Ġ* Ġ< p > Ċ Ġ* ĠCreated Ġon Ġ 2 0 1 7 - 0 9 - 0 6 . Ċ Ġ* Ġ</ p > Ċ Ġ* Ċ Ġ* Ġ@ author Ġw um o Ċ Ġ*/ Ċ val ĠANSI _ BLACK Ġ= Ġ"\ u 0 0 1 B [ 3 0 m " Ċ val ĠANSI _ RED Ġ= Ġ"\ u 0 0 1 B [ 3 1 m " Ċ val ĠANSI _ GREEN Ġ= Ġ"\ u 0 0 1 B [ 3 2 m " Ċ val ĠANSI _ YELLOW Ġ= Ġ"\ u 0 0 1 B [ 3 3 m " Ċ val ĠANSI _ BLUE Ġ= Ġ"\ u 0 0 1 B [ 3 4 m " Ċ val ĠANSI _ PUR PLE Ġ= Ġ"\ u 0 0 1 B [ 3 5 m " Ċ val ĠANSI _ CY AN Ġ= Ġ"\ u 0 0 1 B [ 3 6 m " Ċ val ĠANSI _ WHITE Ġ= Ġ"\ u 0 0 1 B [ 3 7 m " Ċ val ĠANSI _ RESET Ġ= Ġ"\ u 0 0 1 B [ 0 m " Ċ val ĠANSI _ BLACK _ BACKGROUND Ġ= Ġ"\ u 0 0 1 B [ 4 0 m " Ċ val ĠANSI _ RED _ BACKGROUND Ġ= Ġ"\ u 0 0 1 B [ 4 1 m " Ċ val ĠANSI _ GREEN _ BACKGROUND Ġ= Ġ"\ u 0 0 1 B [ 4 2 m " Ċ val ĠANSI _ YELLOW _ BACKGROUND Ġ= Ġ"\ u 0 0 1 B [ 4 3 m " Ċ val ĠANSI _ BLUE _ BACKGROUND Ġ= Ġ"\ u 0 0 1 B [ 4 4 m " Ċ val ĠANSI _ PUR PLE _ BACKGROUND Ġ= Ġ"\ u 0 0 1 B [ 4 5 m " Ċ val ĠANSI _ CY AN _ BACKGROUND Ġ= Ġ"\ u 0 0 1 B [ 4 6 m " Ċ val ĠANSI _ WHITE _ BACKGROUND Ġ= Ġ"\ u 0 0 1 B [ 4 7 m " Ċ Ċ val Ġcolors Ġ= ĠarrayOf ( ĊĠĠĠ ĠANSI _ WHITE _ BACKGROUND Ġ+ ĠANSI _ WHITE , ĊĠĠĠ ĠANSI _ BLACK _ BACKGROUND Ġ+ ĠANSI _ BLACK , ĊĠĠĠ ĠANSI _ RED _ BACKGROUND Ġ+ ĠANSI _ RED , ĊĠĠĠ ĠANSI _ GREEN _ BACKGROUND Ġ+ ĠANSI _ GREEN , ĊĠĠĠ ĠANSI _ YELLOW _ BACKGROUND Ġ+ ĠANSI _ YELLOW , ĊĠĠĠ ĠANSI _ BLUE _ BACKGROUND Ġ+ ĠANSI _ BLUE , ĊĠĠĠ ĠANSI _ PUR PLE _ BACKGROUND Ġ+ ĠANSI _ PUR PLE , ĊĠĠĠ ĠANSI _ CY AN _ BACKGROUND Ġ+ ĠANSI _ CY AN ) Ċ Ċ fun Ġcolor ( idx : ĠInt ): ĠString Ġ{ ĊĠ Ġif Ġ( idx Ġin Ġ 0 .. colors . last Index ) ĊĠĠĠ Ġreturn Ġcolors [ idx ] ĊĠ Ġreturn Ġidx . toString () Ċ } Ċ Ċ fun Ġreset () Ġ= ĠANSI _ RESET Ċ fun ĠDouble . format ( digits : ĠInt ) Ġ= ĠString . format ("% .${ digits } f ", Ġthis ) Ċ Ċ fun Ġlog Level ( level : ĠLevel ) Ġ{ ĊĠ Ġval Ġlogger Context : ĠLogger Context Ġ= ĠLoggerFactory . get I LoggerFactory () Ġas ĠLogger Context ĊĠ Ġval Ġroot Logger Ġ= Ġlogger Context . getLogger ( Logger . ROOT _ LOGGER _ NAME ) ĊĠ Ġroot Logger . level Ġ= Ġlevel Ċ } Ċ Ċ fun Ġprint Black jack ( prob : ĠIndexed MD P , ĠÏĢ : ĠIndexed Policy , ĠV : ĠState Value Function ) Ġ{ ĊĠ Ġprintln (" --------------------- Us able ĠA ce ---------------- ---------- ") ĊĠ Ġfor Ġ( a Ġin Ġ 9 Ġdown To Ġ 0 ) Ġ{ ĊĠĠĠ Ġfor Ġ( b Ġin Ġ 0 Ġuntil Ġ 1 0 ) Ġ{ ĊĠĠĠĠĠ Ġval Ġs Ġ= Ġprob . states [ 1 , Ġ 1 , Ġb , Ġa ] ĊĠĠĠĠĠ Ġprint ("${ color ( ÏĢ . gre edy ( s )[ 0 ]) } Ġ Ġ${ reset () }") ĊĠĠĠ Ġ} ĊĠĠĠ Ġprintln () ĊĠ Ġ} ĊĠ Ġprintln (" --------------------- No ĠUs able ĠA ce ---------------- ---------- ") ĊĠ Ġfor Ġ( a Ġin Ġ 9 Ġdown To Ġ 0 ) Ġ{ ĊĠĠĠ Ġfor Ġ( b Ġin Ġ 0 Ġuntil Ġ 1 0 ) Ġ{ ĊĠĠĠĠĠ Ġval Ġs Ġ= Ġprob . states [ 1 , Ġ 0 , Ġb , Ġa ] ĊĠĠĠĠĠ Ġprint ("${ color ( ÏĢ . gre edy ( s )[ 0 ]) } Ġ Ġ${ reset () }") ĊĠĠĠ Ġ} ĊĠĠĠ Ġprintln () ĊĠ Ġ} ĊĠ Ġfor Ġ( a Ġin Ġ 0 Ġuntil Ġ 1 0 ) Ġ{ ĊĠĠĠ Ġfor Ġ( b Ġin Ġ 0 Ġuntil Ġ 1 0 ) ĊĠĠĠĠĠ Ġprint ("${ V [ 1 , Ġ 1 , Ġa , Ġb ]. format ( 2 )} Ġ") ĊĠĠĠ Ġprintln () ĊĠ Ġ} ĊĠ Ġprintln (" ------------------------------------------------ ------------ ") ĊĠ Ġfor Ġ( a Ġin Ġ 0 Ġuntil Ġ 1 0 ) Ġ{ ĊĠĠĠ Ġfor Ġ( b Ġin Ġ 0 Ġuntil Ġ 1 0 ) ĊĠĠĠĠĠ Ġprint ("${ V [ 1 , Ġ 0 , Ġa , Ġb ]. format ( 2 )} Ġ") ĊĠĠĠ Ġprintln () ĊĠ Ġ} Ċ }