package Ġio . tool ist icon . lib . k rid . model . step Ċ Ċ import Ġio . tool ist icon . lib . k rid . K rid s Ċ import Ġio . tool ist icon . lib . k rid . model . Cell Ċ import Ġio . tool ist icon . lib . k rid . model . Coordinates Ċ Ċ /** Ċ Ġ* ĠThe Ġ" mother Ġof Ġall Ġstep Fn 's " Ġ... Ġstores Ġthe Ġtotal Ġ( x , y ) Ġoffset Ċ Ġ* Ġand Ġapplies Ġit Ġto Ġa Ġcell . Ċ Ġ*/ Ċ data Ġclass ĠCoordinates Step ( private Ġval Ġcoordinates : ĠCell Ġ= ĠK rid s . ORIGIN ) Ġ: ĠStep Fn , ĠCoordinates Ġby Ġcoordinates Ġ{ ĊĠ Ġconstructor ( x : ĠInt , Ġy : ĠInt ) Ġ: Ġthis ( K rid s . cell ( x , Ġy )) ĊĠ Ġconstructor ( coordinates : ĠCoordinates ) Ġ: Ġthis ( K rid s . cell ( coordinates . x , Ġcoordinates . y )) ĊĊĠ Ġoverride Ġfun Ġplus ( other : ĠStep Fn ): ĠCoordinates Step Ġ= Ġcopy ( coordinates Ġ= Ġother ( coordinates )) ĊĊĠ Ġoverride Ġfun Ġtimes ( number : ĠInt ): ĠStep Fn Ġ= Ġcopy ( coordinates Ġ= Ġcoordinates Ġ* Ġnumber ) ĊĊĠ Ġoverride Ġfun Ġinvoke ( start : ĠCell ): ĠCell Ġ= Ġstart Ġ+ Ġcoordinates ĊĊĠ Ġval Ġdirection Steps : ĠComposite Step Ġby Ġlazy Ġ{ ĊĠĠĠ ĠComposite Step ( coordinates ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġ" Coordinates Step ( x =$ x , Ġy =$ y )" Ċ } Ċ