Как сделать морской бой. Морской бой (игра)

Если у соперника по этим координатам имеется корабль (координаты заняты), то корабль или его часть «топится», а попавший получает право сделать ещё один ход. Цель игрока - первым поразить все корабли противника.

Энциклопедичный YouTube

Классический морской бой

Правила размещения кораблей (флота)

Игровое поле - обычно квадрат 10×10 каждого игрока, на котором размещается флот кораблей. Горизонтали обычно нумеруются сверху вниз, а вертикали помечаются буквами слева направо. При этом используются буквы русского алфавита от «а» до «к» (буквы «ё» и «й» обычно пропускаются) либо от "а" до "и" (с использованием буквы "ё"), либо буквы латинского алфавита от «a» до «j». Иногда используется слово «республика» или «снегурочка», так как в этих 10-буквенных словах ни одна буква не повторяется. Поскольку существуют различные варианты задания системы координат, то об этом лучше заранее договориться.

Размещаются:

  • 1 корабль - ряд из 4 клеток («четырёхпалубные»)
  • 2 корабля - ряд из 3 клеток («трёхпалубные»)
  • 3 корабля - ряд из 2 клеток («двухпалубные»)
  • 4 корабля - 1 клетка («однопалубные»)

Другой вариант названия: -трубные (напр. двухтрубные).

При размещении корабли не могут касаться друг друга сторонами и углами. Встречаются, однако, варианты, когда касание углами не запрещается. Встречаются также варианты игры, когда корабли могут размещаться буквой «Г» («трех-» и «четырехпалубные»), квадратом или зигзагом («четырехпалубные»). Кроме того, есть варианты с другим набором кораблей (напр. один пятипалубный, два четырёхпалубных, и т.д.) и/или другой формой поля.

Рядом со «своим» полем чертится «чужое» такого же размера, только пустое. Это участок моря, где плавают чужие корабли противника.

При попадании в корабль противника - на чужом поле ставится крестик, при холостом выстреле - точка. Попавший стреляет ещё раз.

Потопление кораблей противника

Перед началом боевых действий игроки бросают жребий или договариваются, кто будет ходить первым.

Игрок, выполняющий ход, совершает выстрел - называет вслух координаты клетки, в которой, по его мнению, находится корабль противника, например, «В1».

  1. Если выстрел пришёлся в клетку, не занятую ни одним кораблём противника, то следует ответ «Мимо!» и стрелявший игрок ставит на чужом квадрате в этом месте точку. Право хода переходит к сопернику.
  2. Если выстрел пришёлся в клетку, где находится многопалубный корабль (размером больше чем 1 клетка), то следует ответ «Ранил!» или «Попал!», кроме одного случая (см. пункт 3). Стрелявший игрок ставит на чужом поле в эту клетку крестик, а его противник ставит крестик на своём поле также в эту клетку. Стрелявший игрок получает право на ещё один выстрел.
  3. Если выстрел пришёлся в клетку, где находится однотрубный корабль или последнюю непоражённую клетку многопалубного корабля, то следует ответ «Убил!» или «Потопил!». Оба игрока отмечают потопленный корабль на листе. Стрелявший игрок получает право на ещё один выстрел.

Победителем считается тот, кто первым потопит все 10 кораблей противника. Проигравший имеет право попросить изучить после окончания игры у соперника игровое поле. Если проигравший находит какое-нибудь нарушение правил (см. ниже), то победа присуждается ему. Первоначальный победитель в свою очередь может попросить у соперника игровое поле для поиска нарушений. Если он их находит, то игроки сверяют чужие поля друг у друга. Если никаких несоответствий не замечено, то игра не засчитывается (оба проиграли). Тот, у кого чужое поле будет неверным (причём доказуемо неверным), будет проигравшим, а его соперник победителем. Игра также может закончиться раньше, чем когда будут потоплены все корабли, если нарушение правил будет замечено в течение игры. Проигравшим в этом случае будет считаться тот, у кого обнаружат нарушение правил, хотя он тоже может попросить игровое поле у соперника для поиска нарушений.

Нарушения

Выигрышная стратегия

Вокруг каждого корабля можно нарисовать область (толщиной в одну клетку), в которой не может быть других кораблей - эту область назовём ореолом данного корабля. Одна из выигрышных стратегий описана Я. И. Перельманом . Игрока, использующего эту выигрышную стратегию, назовём Виктором; другого игрока (не использующего выигрышную стратегию Я. И. Перельмана) назовём Петром.

Выигрышная стратегия Перельмана состоит в том, что Виктор свои многоклеточные корабли компактно располагает в одном из углов поля, «вжимая» в этот угол так, как только возможно. Одноклеточные корабли Виктор равномерно распределяет по оставшейся незанятой многоклеточными кораблями части поля. Скорее всего, Пётр относительно быстро обнаружит, что много кораблей Виктора компактно сосредоточенно в этом углу, и быстро уничтожит все корабли Виктора, кроме одноклеточных. После этого, чтобы найти одноклеточные корабли Виктора, Петру надо будет исследовать своими ходами-выстрелами очень большую площадь, поскольку ореолы многоклеточных кораблей Виктора перекрываются, плюс к тому львиная доля площади ореолов кораблей, прижатых к кромке поля, оказывается за пределами поля. Между тем, благодаря тому, что у Петра перекрывается меньше площади ореолов, чем у Виктора, Виктору нужно исследовать меньшую площадь поля Петра, чем Петру площадь поля Виктора.

По мере того, как игроки поражают корабли друг друга, неисследованная Виктором часть площади поля Петра уменьшается быстрее, чем уменьшается неисследованная Петром часть площади поля Виктора. Благодаря этому, Виктор быстрее исследует своими ходами-выстрелами поле Петра, чем Пётр поле Виктора, и, следовательно, Виктор быстрее, чем Пётр, поразит все корабли противника. При этом Виктор понесёт большие потери (потеряет все многоклеточные корабли), однако правила игры не требуют стремиться к минимальным потерям, поэтому Виктор, сохранив только одноклеточные корабли, окажется в выигрыше по сравнению с Петром, который потеряет все свои корабли раньше, чем Виктор.

Варианты игры

Существуют варианты игры, отличающиеся правилами (распространённые за пределами России). В основном, это касается количества и размера кораблей, например, вариант компании «Милтон Брэдли» - пятиклеточный, четырёхклеточный, два трёхклеточных и двухклеточный. Существуют варианты, где игрок может стрелять больше одного раза подряд. Также очень отличающийся вариант описан в книге Я. И. Перельмана «Занимательные Задачи и опыты» .

При стандартном размере поля (10×10) и стандартном наборе кораблей (1×4 + 2×3 + 3×2 + 4×1), в игру можно добавить одну мину (или не одну). Мина обозначается кружком, вписанным в одну клетку. Клетка с миной не должна касаться кораблей, а если мин больше одной, то и других клеток с минами.

Если игрок в результате своего хода попал на мину (на мину противника), то он должен сообщить хозяину мины (противнику) координаты одной своей непоражённой клетки, занятой любым своим кораблём (корабль может иметь сколько угодно клеток, но выдаётся только одна клетка). После этого хозяин мины имеет возможность метко выстрелить (выданная клетка не погибает в момент попадания на мину - чтоб она погибла, по ней надо выстрелить; иначе говоря, мина только сообщает координаты корабля). Хозяин мины не обязан поражать выданную клетку сразу же - он имеет право выстрелить по ней в любое время. Поскольку выстрел по выданной клетке меткий, то хозяин мины после этого выстрела получает право на повторный ход. Использованная мина «гасится» постановкой точки в центре кружка (в центре её клетки).

Размер поля можно увеличить - например, размер 16×16 или 18×18 позволяет с удобством использовать весь размер одинарного тетрадного листа. В этом случае количество фигур можно увеличить - например, как предлагал Я. И. Перельман . Тогда, в связи с увеличением численности армий и размера поля, можно увеличить количество мин (например, до трёх) и добавить в игру минный тральщик (скажем, один у каждого игрока). Минный тральщик обозначается равнобедренным треугольничком, вписанным в одну клетку, так, что основание равнобедренного треугольника совпадает с нижней стороной клетки, а противоположная основанию вершина лежит на верхней стороне клетки, деля верхнюю сторону пополам.

Если игрок, сделав ход, попал на минный тральщик, то он должен выдать противнику (хозяину минного тральщика) координаты одной из своих ещё не сработавших мин - чтобы хозяин минного тральщика знал, что по этим координатам выданной клетки с миной ходить не следует. Клетка с минным тральщиком не должна касаться клеток с кораблями и минами, а также, если минных тральщиков больше одного, и клеток с другими минными тральщиками. Если к моменту срабатывания минного тральщика у походившего не осталось ни одной мины, то противник походившего сообщает походившему, что он попал на минный тральщик, но походивший ему ничего не выдаёт.

Так как попадание на мину или на минный тральщик не является успехом, а является неприятностью для ходившего, то после такого неудачного хода ход переходит к хозяину сработавшей мины или сработавшего минного тральщика. Попав на мину, нельзя вместо координат клетки корабля выдавать клетку с минным тральщиком. Мины и минные тральщики являются одноклеточными фигурами. Мины и минные тральщики не считаются значащими фигурами - поэтому, если у игрока остались только мины и минные тральщики, но погибли все корабли, а у другого игрока не все корабли погибли, то игра считается оконченной, а первый игрок - проигравшим.

Существует вариант игры, в котором мины, минные тральщики могут касаться кораблей или друг друга.

Летучий голландец [ ]

В отличие от многих других вариантов морского боя, здесь у каждого игрока есть только один корабль, с количеством палуб от 5 до 8 (точное их количество оговаривается перед игрой). Игра идёт на поле 20 × 20 клеток. Сам корабль может занимать клетки по вертикали, горизонтали и диагонали одновременно. Если в корабль одного из игроков попадает другой игрок, то первый имеет право передвинуть своего «Летучего голландца» в любое другое место поля, однако он теряет подорванную палубу. Все остальные правила такие же, как и в классическом варианте морского боя.

Компьютерные реализации

Существует много компьютерных программ, имитирующих игру. Компьютерные реализации могут отличаться наличием звуков, автоматическим обозначением полей, где не может быть корабля, и т. п.

В игру "морской бой" играют два человека, которые по очереди называют координаты кораблей на карте противника. Если координаты заняты, то корабль или часть его "топится", а попавший имеет право сделать ещё один ход.

Игра происходит на поле 10х10 клеточек каждого игрока, на котором размещается флот кораблей. Горизонтали обычно нумеруются сверху вниз, а вертикали помечаются буквами слева направо. При этом используются буквы русского алфавита от «а» до «к» (буквы «ё» и «й» обычно пропускаются) либо от "а" до "и" (с использованием буквы "ё"), либо буквы латинского алфавита от «a» до «j». Иногда используется слово «республика» или «снегурочка», так как в этих 10-буквенных словах ни одна буква не повторяется. Поскольку существуют различные варианты задания системы координат, то об этом лучше заранее договориться.

Флот состоит из

* 1 корабль - ряд из 4 клеток "четырёхпалубные"

* 2 корабля - ряд из 3 клеток "трёхбалубные"

* 3 корабля - ряд из 2 клеток "двухпалубные"

* 4 корабля - ряд из 1 клеточки "однопалубые".

При размещении корабли не могут касаться друг друга углами.

Палубы кораблей надо строить «в линейку», а не изгибами. Главное: нельзя строить палубы одного корабля по диагонали.

Перед началом боевых действий игроки бросают жребий или договариваются, кто будет ходить первым.

Игрок, выполняющий ход, совершает выстрел - называет вслух координаты клетки, в которой, по его мнению, находится корабль противника, например, «К1!» .
Если выстрел пришёлся в клетку, не занятую ни одним кораблём противника, то следует ответ «Мимо!» и стрелявший игрок ставит на чужом квадрате в этом месте точку. Право хода переходит к сопернику.
Если выстрел пришёлся в клетку, где находится многопалубный корабль (размером больше чем 1 клетка), то следует ответ «Ранил!». Стрелявший игрок ставит на чужом поле в эту клетку крестик, а его противник ставит крестик на своём поле также в эту клетку. Стрелявший игрок получает право на ещё один выстрел.
Если выстрел пришёлся в клетку, где находится однопалубный корабль или последнюю непоражённую клетку многопалубного корабля, то следует ответ «Потоплен!» или «Убит!». Оба игрока отмечают потопленный корабль на листе. Стрелявший игрок получает право на ещё один выстрел.

Победителем считается тот, кто первым потопит все 10 кораблей противника. Проигравший имеет право попросить изучить после окончания игры у соперника игровое поле.

Нарушения

У игрока неправильно начерчено своё поле: количество кораблей не соответствует правилам; корабли касаются друг друга; неправильные размеры поля и неверная система координат.

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

Игра «Морской бой» помогает людям скоротать время на уроках, лекциях, обеденных перерывах или просто холодными зимними вечерами уже более 80-ти лет. За это время сменилось немало поколений, но игра по-прежнему остаётся актуальной. Хоть она и вытесняется более современными и динамичными компьютерными играми, сегодня практически нереально найти школьника, который не знает, как играть в морской бой и что это вообще такое. Я расскажу вам о правилах игры, а также опишу выигрышную тактику. Рассмотрим, как играть в морской бой.

Правила игры

Игровое поле каждого игрока представляет собой квадрат 10х10, на котором размещаются корабли. Поле обязательно содержит числовые и буквенные координаты (по вертикали числа 1-10, а по горизонтали буквы от а до к). Для классической игры используются четыре одноклеточных корабля (подлодки), три двухклеточных (эсминцы), два трёхклеточных (крейсеры) и один четырёхклеточный корабль (линкор). Их рисуют внутри квадрата. По правилам, корабли не должны соприкасаться. Играть лучше всего на листке в клеточку, потому что чертеж кораблей представляет собой обведение клеточек. Одна палуба - одна клеточка. Размещать корабли можно как горизонтально, так и вертикально. Рядом со своим квадратом игрок чертит второй, на котором отмечает «выстрелы» по противнику. При попадании в корабль соперника, на чужом поле ставится крестик. Попавший игрок делает ещё один выстрел.

Нарушения

  • Количество кораблей не соответствует правилам
  • Корабли расположены вплотную друг к другу
  • Изменён размер поля
  • Указаны неправильные координаты

Процесс игры

  • Игроки решают, кто будет ходить первым
  • Игрок, выполняющий ход, называет координату, на которой, по его мнению, располагается корабль соперника. Например, квадрат А1.
  • При промахе соперник должен сказать «Мимо!», при попадании «Попал», «Ранил» или «Убил», в зависимости от размера корабля.
  • Игра продолжается до потопления всех кораблей одного из игроков.

Как выиграть в морской бой

Данная стратегия является одним из множества вариантов построения боя. Её суть заключается в том, что все большие корабли (от двух до четырёх клеток) располагаются в одном углу поля и как можно более компактно. А вот одноклеточные корабли разбрасываются по оставшейся части поля. В итоге, ваш соперник довольно быстро найдёт зону группировки больших кораблей довольно быстро и начнёт нещадно уничтожать их. В этот момент он почувствует себя настоящим гением, но мы-то знаем, в чём подвох. За время, которое соперник затратит на поиски маленьких кораблей вы с большой вероятностью успеете понять его тактику и уничтожить большинство кораблей, тем самым заставив его понервничать. Остальное – уже дело техники. В данной статье было рассказано о правилах, процессе игры и приведены примеры выигрышной тактики, как выиграть в морской бой. При грамотном подходе всё вышенаписанное может послужить хорошей базой знаний для получения максимального удовольствия от игры.

Пару дней назад я с удивлением узнал, что некоторые мои знакомые не умеют играть в морской бой. Т.е. правила они, конечно, знают, но вот играют как-то бессистемно и в итоге часто проигрывают. В этой записи я постараюсь изложить основные идеи, которые помогут повысить уровень вашей игры.

Правила игры

Существует множество вариантов морского боя, но мы с вами рассмотрим наиболее распространённый вариант со следующим набором кораблей:

Все перечисленные корабли должны быть размещены на квадратном поле 10 на 10 клеток, при этом корабли не могут соприкасаться ни углами, ни сторонами. Самое игровое поле нумеруется сверху вниз, а вертикали помечаются русскими буквами от «А» до «К» (при этом буквы «Ё» и «Й» пропускают).

Рядом рисуется вражеское поле аналогичного размера. При удачном выстреле по кораблю противника на соответствующей клетке вражеского поля ставится крестик и производится повторный выстрел, при неудачном выстреле в соответствующей клетке ставится точка, и ход переходит к противнику.

Оптимальная стратегия

В игре морской бой всегда есть элемент случайности, но его можно свести к минимуму. Прежде чем переходить непосредственно к поиску оптимальной стратегии, необходимо озвучить одну очевидную вещь: вероятность попасть по кораблю противника тем выше, чем меньше непроверенных клеток осталось на его поле, аналогично вероятность попадания по вашим кораблям тем ниже, чем больше непровереных клеток осталось на вашем поле. Т.о. для эффективной игры нужно научиться сразу двум вещам: оптимальной стрельбе по противнику и оптимальному своих размещению кораблей.

В дальнейшем объяснении будут использоваться следующие обозначения:

Оптимальная стрельба
Первым и самым очевидным правилом оптимальной стрельбы является следующее правило: не стрелять по клеткам непосредственно окружающим уничтоженный корабль противника.

В соответствии с принятыми выше обозначениями, на рисунке жёлтым отмечены те клетки, по которым уже были произведены безуспешные выстрелы, красным отмечены клетки, выстрелы по которым закончились попаданием, а зелёным отмечены клетки, стрельба по которым не производилась, но можно гарантировано утверждать, что кораблей в них нет (кораблей там быть не может, т.к. по правилам игры корабли не могут соприкасаться).

Из первого правила сразу вытекает второе: если вам удалось подбить вражеский корабль, необходимо сразу же его добить, чтобы как можно раньше получить список гарантировано свободных клеток.

Третье правило вытекает из первых двух: необходимо в первую очередь пытаться подбить самые крупные корабли противника. Возможно, для вас это правило не очевидно, но если немного подумать, то можно легко заметить, что уничтожив вражеский линкор, мы в лучшем случае получим информацию сразу о 14 гарантировано свободных клетках, а уничтожив крейсер, всего о 12.

Т.о. оптимальную стратегию стрельбы можно свести к целенаправленному поиску и уничтожению самых крупных кораблей противника. К сожалению, сформулировать стратегию мало, необходимо предложить способ её реализации.

Для начала давайте рассмотрим участок игрового поля размером 4 на 4 клетки. Если в рассматриваемом участке есть вражеский линкор, то его гарантировано можно подбить не более чем за 4 выстрела. Для этого надо стрелять так, чтобы на каждой горизонтали и вертикали было ровно по одной проверенной клетке. ниже представлены все варианты такой стрельбы (без учёта отражений и поворотов).

Среди всех этих вариантов, оптимальными на поле 10 на 10 клеток являются только первые два варианта, гарантирующие попадание в линкор максимум за 24 выстрела.

После того, как уничтожен вражеский линкор, необходимо начинать поиск крейсеров, а затем и эсминцев. При этом, как вы уже догадались, можно воспользоваться аналогичной методикой. Только теперь необходимо разбивать поле на квадраты со стороной в 3 и 2 клетки соответственно.

Если при поиске линкора вы использовали вторую стратегию, то для поиска крейсеров и эсминцев вам необходимо стрелять по следующим полям (зелёным отмечены поля, по которым вы уже стреляли при поиске линкора):

Для поиска катеров оптимальной стратегии не существует, поэтому в конце игры приходится опираться в основном на удачу.

Оптимальное размещение кораблей
Оптимальная стратегия размещения кораблей в некотором смысле обратна оптимальной стратегии стрельбы. При стрельбе, мы пытались найти самые крупные корабли, чтобы сократить количество клеток, которые нужно проверять, за счёт гарантировано свободных клеток. Значит, при размещении корабли надо ставить таким образом, чтобы в случае их потери минимизировать количество гарантировано свободных клеток. Как вы помните, линкор в центре поля открывает для противника сразу 14 полей, но линкор, стоящий в углу, открывает для противника всего 6 полей:

Аналогично, крейсер, стоящий в углу, вместо 12 полей открывает всего 6. Т.о., разместив крупные корабли вдоль границы поля, вы оставляете больший простор для катеров. Т.к. стратегии для поиска катеров нет, противнику придётся стрелять наугад, и чем больше свободных полей у вас останется к моменту ловли катеров, тем тяжелее будет выиграть противнику.

Ниже представлено три способа размещения крупных кораблей, которые оставляют большой простор для катеров (отмечено синим):

Каждая из приведённых расстановок оставляет для катеров ровно 60 свободных клеток, а это значит, что вероятность случайно попасть в катер составляет 0,066. Для сравнения стоит привести случайную расстановку кораблей:

При такой расстановке для катеров остаётся всего 21 клетка, а это значит, что вероятность попадания по катеру составляет уже 0,19, т.е. почти в 3 раза выше.

В заключение хочу сказать, что не стоит проводить уж слишком много времени, играя в морской бой. Особенно хочу предостеречь вас от игры на лекциях. Когда я сидел в Ваби-Саби и играл в морской бой со своей девушкой, мимо прошла официантка и сказала, что она весьма неплохо играет, т.к. много практиковалась на парах. Кто знает, кем бы она работала, если бы в своё время слушала лекции?

P.S. В комментариях абсолютно верно указывают, что на хабре уже были похожие публикации, было бы неверно не поставить ссылки на них.

Тип : игра.
Применимость : многократная.
Что требуется : две ручки и два листика бумаги в клеточку.
На сколько людей рассчитано : 2 человека.
Динамичность : средняя.
Место проведения : где угодно.

Описание : Каждый из игроков рисует у себя на листке (друг другу листки нельзя показывать) два квадрата 8×8, номеруя столбцы от а до к, а строки от 1 до 10:

Первое поле – это поле собственное, а второе – это поле противника, куда игрок будет бить своими ударами. На первом поле игрок размещает корабли: 1 четырехклеточный, 2 трехклеточных, 3 двухклеточных, 4 одноклеточных. Например, так:


При этом корабли не могут соприкасаться или касаться друг друга. Но могут вращаться на 90 градусов. Размещение кораблей производится на усмотрение игрока.

Цель игры – первым уничтожить все корабли противника.

После размещения кораблей по жребию определяют того, кто будет начинать. Игрок, которого выбрали, ставит на своем листке, на поле противника в какой-нибудь клетке точку и называет ее координаты, например, д7. Второй игрок ставит точку на своем поле, где находятся его корабли, с этими координатами. Если эта клетка принадлежит кораблю, то игрок говорит «попал», если корабль имеет еще неподбитые клетки, и «убил», если это была последняя целая клетка корабля. Если это клетка пустая и не содержит корабля, то игрок говорит «мимо». Если там был корабль, то точка превращается в крестик у обоих игроков. Если игрок попал в корабль, то у него появляется право на дополнительный выстрел, если попал и при нем, то право дополнительного выстрела появляется заново и так далее. После хода другой игрок стреляет по полю противника. И так далее до победы. Ниже показаны два хода: первого и второго игрока.