package Ġcom . c ort land . kotlin chess . AI Ċ Ċ import Ġcom . c ort land . kotlin chess . Board Ċ import Ġcom . c ort land . kotlin chess . Board Location Ċ import Ġcom . c ort land . kotlin chess . Color Ċ Ċ class ĠBoard R ater Center Four Occup ation ( configuration : ĠAI Configuration ) Ġ: ĠBoard R ater ( configuration ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġrating For ( board : ĠBoard , Ġcolor : ĠColor ): ĠDouble Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġ 1 . toDouble () ĊĠĠĠĠĠĠĠ Ġvar Ġrating Ġ= Ġ 0 . toDouble () ĊĊĠĠĠĠĠĠĠ Ġval Ġlocations Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBoard Location ( 4 , Ġ 4 ), Ġ// ĠNE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBoard Location ( 4 , Ġ 3 ), Ġ// ĠSE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBoard Location ( 3 , Ġ 3 ), Ġ// ĠSW ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBoard Location ( 3 , Ġ 4 ) Ġ Ġ// ĠN W ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( location Ġin Ġlocations ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpiece Ġ= Ġboard . get Piece ( location ) Ġ?: Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrating Ġ+= Ġif Ġ( piece . color Ġ== Ġcolor ) Ġvalue Ġelse Ġvalue . unary Minus () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġrating Ġ* Ġconfiguration . board R ater Center Four Occup ation Weight ing . value ĊĠĠĠ Ġ} Ċ Ċ }