как я понимаю, они проверяют для первой (или последней) строки (или столбца), произошёл ли ход. потому что X в горизонтале и Y в вертикале не изменяются и привязываются к направлению. а разные они, потому что вычисляют для разных осей
я там до сих пор не понял, что делает побитовое или. честно говоря, я вообще не знаю, что оно делает