ОК, Дальше - больше.
Интересно как найти подходящее поле?
Вот как я решил этот вопрос.
Введем новые, мои любимые
, понятия:
Рейтинг - Количество твоих фигур в
комбинациях, пересекающихся в этой клетке.
Выход - Строка содержащая рассматриваемую клетку, но не содержащая фигур противника.
1. Наиболее подходящей будет центральная клетка. В ней пересекаются 4 строки.
2. Угловая клетка на втором месте. Там - 3 строки.
3. В остальных клетках пересекаются по 2 строки.
Важно отметить что не все строки обязательно будут комбинациями, поэтому в выборе следует основываться
на количестве
выходов из данной клетки.
Если возникает ситуация при которой несколько клеток имеют одинаковое количество
выходов, то отдаем предпочтение клетке с наибольшим
рейтингом.
Особые ситуации:
Если в какой-то
комбинации обнаружилось n-1 фигур, то эта комбинация выигрышная и ставим туда фигуру (n-размер поля).
Если подходящая клетка так и не была обнаружена, то игра ведет к ничье или победе соперника.
В этом случае процедура может возвращать случайные значения либо "идти в защиту" - закрывать комбинации противника. Во 2 случае возможность выигрыша человека резко снижается. На этом можно основать 2 уровня сложности:простой и сложный.
Этой информации достаточно, чтобы самому написать алгоритм. Спрашивай, что не ясно.
P.S. Прошу проверить алгоритмы т.к. я только что их сочинил и не ручаюсь за правильность и оптимальность.