package Ġactor Spawn ers Ċ Ċ import Ġkotlinx . coroutines . channels . Channel Ċ import Ġmessages . I Message Ċ Ċ class ĠCross Actor Sp awner ( m : ĠInt , Ġn : ĠInt , Ġn Iter : ĠInt ) Ġ: ĠActor Sp awner ( m , Ġn , Ġn Iter ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġattach Ne ighbours () Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġm ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( j Ġin Ġ 0 Ġuntil Ġn ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġne ighbours : ĠMutable List < Channel < I Message >> Ġ= ĠArrayList () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( i Ġ- Ġ 1 Ġ>= Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġne ighbours . add ( actor Grid [ i Ġ- Ġ 1 ][ j ]. actor Channel ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( i Ġ+ Ġ 1 Ġ<= Ġm Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġne ighbours . add ( actor Grid [ i Ġ+ Ġ 1 ][ j ]. actor Channel ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( j Ġ- Ġ 1 Ġ>= Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġne ighbours . add ( actor Grid [ i ][ j Ġ- Ġ 1 ]. actor Channel ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( j Ġ+ Ġ 1 Ġ<= Ġn Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġne ighbours . add ( actor Grid [ i ][ j Ġ+ Ġ 1 ]. actor Channel ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactor Grid [ i ][ j ]. set Ne ighbours ( ne ighbours ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }