package ĠGame Engine . Basic Ċ Ċ data Ġclass ĠPoint ( val Ġx : ĠDouble , Ġval Ġy : ĠDouble ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject { ĊĠĠĠĠĠĠĠ Ġval ĠZERO Ġ= ĠPoint ( 0 . 0 , Ġ 0 . 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoperator Ġfun Ġplus ( v : ĠVector ): ĠPoint Ġ= ĊĠĠĠĠĠĠĠ ĠPoint ( x Ġ+ Ġv . x , Ġy Ġ+ Ġv . y ) ĊĊĠĠĠ Ġoperator Ġfun Ġminus ( p : ĠPoint ): ĠVector Ġ= ĊĠĠĠĠĠĠĠ ĠVector ( x Ġ- Ġp . x , Ġy Ġ- Ġp . y ) ĊĊĠĠĠ Ġfun Ġco erce In ( r : ĠRectangle ) Ġ= ĊĠĠĠĠĠĠĠ ĠPoint ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx . coerce In ( r . left Top . x , Ġr . right Bottom . x ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġy . coerce In ( r . left Top . y , Ġr . right Bottom . y ) ĊĠĠĠĠĠĠĠ Ġ) Ċ } Ċ Ċ fun Ġcom . so y wiz . k orm a . geom . Point . to Point (): ĠPoint Ġ= ĊĠĠĠ ĠPoint ( x , Ġy )