Морской бой
Sep. 11th, 2009 01:31 pmПрислали мне продуктивити-киллер - флэшевский морской бой на games.mail.ru .
Соответственно, при обнаружении любого другого кораблика во время проведения диагоналей поступаем творчески, по обстановке.
У меня пока ещё не до конца скристаллизовалась тактика поиска корабля в чистом или почти чистом поле, когда найдена его первая клетка. Там уже слишком сложное линейное программирование, по-моему :>
Тактика изматывания противника : минимизируем количество клеток, закрашиваемых при полном убийстве корабля. Для этого все корабли, начиная с двухпалубных и более, ставим носами в углы поля. Остальные, которые не влезли носами в углы, ставим поближе к тем, которые влезли (с интервалом в 1 клетку), и тоже вплотную к краям поля. А в образовавшийся простор посерединке накидываем в свободном порядке однопалубников. Желательно с расстоянием между ними более одной клетки. Противник быстро выбивает большие корабли и долго мучается с поиском однопалубников.
Если у вас есть какие-то возражения, замечания и дополнения - пишите :>
Когда передача ходов и проверка результатов компьютеризированы, игра идёт быстрее, и начинает немного проясняться тактика. Оказывается, она есть. А я все школьные годы играл почти наугад :>
Тактика наступления: вначале ищем 4-палубный корабль, заполняя поле параллельными диагоналями с расстоянием 3 клетки по горизонтали или вертикали, между которыми точно нельзя 4-палубный впихнуть. Рано или поздно непременно натыкаемся на 4-палубный. Пока остаются 3-палубные, ведём диагональки с расстоянием 2 клетки. Когда остаются 2-палубные, заполняем попарно стоящие клетки в шахматном порядке, чтоб в итоге оставались только одиночные клетки. Ну и поиск 1-палубных кораблей - это уже чисто азартная игра на воле случая :>Соответственно, при обнаружении любого другого кораблика во время проведения диагоналей поступаем творчески, по обстановке.
У меня пока ещё не до конца скристаллизовалась тактика поиска корабля в чистом или почти чистом поле, когда найдена его первая клетка. Там уже слишком сложное линейное программирование, по-моему :>
Тактика изматывания противника : минимизируем количество клеток, закрашиваемых при полном убийстве корабля. Для этого все корабли, начиная с двухпалубных и более, ставим носами в углы поля. Остальные, которые не влезли носами в углы, ставим поближе к тем, которые влезли (с интервалом в 1 клетку), и тоже вплотную к краям поля. А в образовавшийся простор посерединке накидываем в свободном порядке однопалубников. Желательно с расстоянием между ними более одной клетки. Противник быстро выбивает большие корабли и долго мучается с поиском однопалубников.
Если у вас есть какие-то возражения, замечания и дополнения - пишите :>