Я себе так представляю, что проверяется ячейка- если "х" то проверяется следующая по горизонтали, если "х" -то в след. ставится "о". если пусто- то еще следующая проверяется и ставится "о" между. И так повторить для вертикали и диагонали. Чтобы не допустить три. Но это только на непроигрыш. А вот на выигрыш - выше моего знания алгоритмов