CSM.Dev

Охота на лис(кодинг)

День добрый! Прохожу практику в институте, вот дали задание написать виртуального игрока у такой игрушке. В конце будет проходить чемпионат среди виртуальных игроков потока. Вот нужно придумать какой-то хитрожопый алгоритм(ы), который бы всех обыгрывал =)

Суть игры. Есть поле m*n, в каждой клетке которого может находиться лисичка. "выстрелы" происходят по очереди, как в Морском Бою с тем лишь отличием, что в клетке, куда мы стреляли отображается не точка, а количество лис, видимых из этой клетки.

Синими точками показана область видимости. Поскольку там лисичек нет - стоит 0.


А вот здесь лисичка попала в зону видимости и стоит 1


А здесь из точки видно целых 3


Смысл, думаю понятен. Пока я единственное что накодил, так это табличку типа bool. Если в клетку попадания 0, то внутри этой таблицы все клетки "области видимости" становятся False. А при последующих выстрелах стоит проверка и в клетки False мы уже не стреляем.
Такой вот простенький алгоритм, который пришёл в голову первым делом.


Может у кого-то есть мысли на эту тему или просто интересно. Подкините алгоритмов решения?)

Заранее спасибо)