package Ġtest . chess . game čĊč Ċ abstract Ġclass ĠFigure Ġ( pos : ĠPosition , Ġlocation X : ĠInt , Ġlocation Y : ĠInt ) Ġ{ čĊčĊĠĠĠ Ġvar Ġposition Ġ= Ġpos čĊĠĠĠ Ġvar Ġlocation X Ġ= Ġlocation X čĊĠĠĠ Ġvar Ġlocation Y Ġ= Ġlocation Y čĊčĊĠĠĠ Ġabstract Ġfun Ġmove ( dir : ĠDirection ) čĊĠĠĠ Ġfun Ġidentity () Ġ{ čĊĠĠĠĠĠĠĠ Ġprintln (" I Ġam Ġa Ġ$ position ") čĊĠĠĠ Ġ} č Ċ } čĊč Ċ class ĠKing ( location X : ĠInt , Ġlocation Y : ĠInt ): ĠFigure ( Position . K ING , Ġlocation X , Ġlocation Y ) Ġ{ čĊčĊ čĊčĊĠĠĠ Ġoverride Ġfun Ġmove ( dir : ĠDirection ) Ġ{ čĊĠĠĠĠĠĠĠ Ġwhen ( dir ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠDirection . UP Ġ-> Ġlocation Y ++ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠDirection . DOWN Ġ-> Ġlocation Y -- čĊĠĠĠĠĠĠĠĠĠĠĠ ĠDirection . RIGHT Ġ-> Ġlocation X ++ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠDirection . LEFT Ġ-> Ġlocation X -- čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊč Ċ }