package Ġorg . big s by spot . tic _ tac _ to e Ċ Ċ class ĠCompletion Result Ġprivate Ġconstructor ( val Ġtype : ĠCompletion Type , Ġval Ġsequence : ĠInt ){ ĊĊĠĠĠ Ġval Ġis Over Ġ: ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġtype Ġ!= ĠCompletion Type . Not Complete ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġrow ( sequence : ĠInt ): ĠCompletion Result Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠCompletion Result ( Completion Type . Row , Ġsequence ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġcolumn ( sequence : ĠInt ): ĠCompletion Result Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠCompletion Result ( Completion Type . Column , Ġsequence ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġdiagonal ( sequence : ĠInt ): ĠCompletion Result Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠCompletion Result ( Completion Type . Diag onal , Ġsequence ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġdraw : ĠCompletion Result ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= ĠCompletion Result ( Completion Type . Draw , Ġ 0 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġnot Complete : ĠCompletion Result ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= ĠCompletion Result ( Completion Type . Not Complete , Ġ 0 ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ enum Ġclass ĠCompletion Type { ĊĠĠĠ ĠNot Complete , ĊĠĠĠ ĠDraw , ĊĠĠĠ ĠRow , ĊĠĠĠ ĠColumn , ĊĠĠĠ ĠDiag onal Ċ }