package Ġpieces . chess Ċ Ċ import Ġcoordinates . Coordinate 2 D Ċ import Ġmove Generators . Direction Ċ import Ġmove Generators . Move Generator 2 D Ċ import Ġregions . Composite Region Ċ import Ġregions . Row Region Ċ import Ġplayers . Player Ċ import Ġregions . Box Region Ċ Ċ /** Ċ Ġ* ĠRepresents Ġa Ġblack Ġp awn Ġin Ġgrand Ġche ss Ċ Ġ*/ Ċ class ĠG rand Black Pawn ( override Ġval Ġplayer : ĠPlayer ) Ġ: ĠBlack Pawn ( player , Ġ 2 , ĠRow Region ( 0 ), ĠlistOf ( Queen ( player ), ĠB ish op ( player ), ĠK night ( player ), ĠR ook ( player ), ĠMarshal ( player ), ĠCard inal ( player ))) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġforced Promotion Region Ġ= ĠRow Region ( 0 ) ĊĠĠĠ Ġprivate Ġval Ġoptional Promotion Region Ġ= ĠComposite Region ( listOf ( Row Region ( 1 ), ĠRow Region ( 2 ))) ĊĠĠĠ Ġprivate Ġval Ġmove List Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ ĠMove Generator 2 D . Step per ( Direction . SO UTH , Ġ 1 ), ĊĠĠĠĠĠĠĠ ĠMove Generator 2 D . Capture Only ( Move Generator 2 D . Step per ( Direction . SO UTH _ EAST , Ġ 1 , Ġtrue )), ĊĠĠĠĠĠĠĠ ĠMove Generator 2 D . Capture Only ( Move Generator 2 D . Step per ( Direction . SO UTH _ WEST , Ġ 1 , Ġtrue )) ĊĠĠĠ Ġ) ĊĠĠĠ Ġoverride Ġval Ġmove Generators Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ ĠMove Generator 2 D . Restricted ( Move Generator 2 D . Step per ( Direction . SO UTH , Ġ 2 ), ĠRow Region ( 7 )), ĊĠĠĠĠĠĠĠ ĠMove Generator 2 D . Restricted Destination ( Move Generator 2 D . Add Promotion ( move List , Ġforced Promotion Region , Ġp awn Prom otions , Ġtrue ), ĠRow Region ( 0 )), ĊĠĠĠĠĠĠĠ ĠMove Generator 2 D . Restricted Destination ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMove Generator 2 D . Add Promotion ( move List , Ġoptional Promotion Region , Ġp awn Prom otions , Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBox Region ( Coordinate 2 D ( 0 , Ġ 1 ), ĠCoordinate 2 D ( 9 , Ġ 9 )), ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) Ċ } Ċ