Морской бой лучшие расположения кораблей: Беспроигрышная тактика в морской бой

Содержание

Беспроигрышная тактика в морской бой

Вы играете в морской бой, но не всегда выигрываете? Тогда вам наверняка интересно узнать, как существенно повысить свои шансы на выигрыш, как правильно расставить корабли, как быстро уничтожить корабли противника и, конечно же, как выиграть в игре Морской бой !

Содержание [убрать]

Правила игры «Морской Бой»

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

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

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

Как выиграть в игре Морской Бой

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

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

Как стрелять по кораблям противника

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

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

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

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

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

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

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

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

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

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

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

Последовательность лучших ходов для начала игры

Если обратиться к математической теории, то можно построить карту вероятности размещения кораблей:

Исходя из этой карты, последовательность «лучших ходов» при постоянных промахах выглядит так (см. рисунок):

C1, J8, A8, h2, A4, J4, D10, G10, E1, D2, B3, A2, C9, B10, H9, I10, I7, J6, I5, H6, J2, I3, h5, G5, G2, F3, E4, B7, A6, B5, C6, C3, D4, D5, F6.

Как расставить корабли

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

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

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

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

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

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

Морской бой – популярная игра с простыми правилами. Задаваясь вопросом, как выиграть в морской бой, игроку в этом всегда поможет победный настрой и правильная стратегия.

Для начала нужно вспомнить правила игры. В распоряжении у игрока десять кораблей: 1 четырехпалубный линкор, 2 трехпалубных крейсера, 3 двухпалубных эсминца и 4 однопалубных катера.

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

Можно договориться с оппонентом о возможности менять форму судов, «загибать» корабли. Так суда на поле будут похожи на детали «Тетриса», их будет сложнее потопить, а играть станет интереснее.

Удачный расклад в игре зависит не от воли случая, а от двух важных компонентов стратегии:

  • расстановка собственных судов;
  • оптимальный вариант стрельбы по флоту противника.

Расположение кораблей

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

Первая тактика заключается в том, что линкор, крейсеры и эсминцы располагаются на одной половине поля.

А вот четыре катера располагаются на противоположной стороне, в результате они становятся практически неуязвимы. Противнику придется сделать очень много выстрелов, прежде чем он услышит «Убит!».

«Диагонали»

Большинство игроков первым делом начинают простреливать поле по двум диагоналям – от угла к углу. Если соперник относится к этому типу, вторая тактика окажется весьма кстати. Все корабли располагаются таким образом, чтобы выстрелы по диагонали их не задели.

Эта тактика хороша тем, что ее можно применить вместе с еще одной тактикой расстановки. Продуманное расположение своего флота – половина успеха.

«Берега»

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

Такая тактика может себя не оправдать, особенно, когда соперник догадается, в чем фишка. Если секрет расположения судов раскроется, соперник за минимальное количество ходов потопит всю флотилию игрока.

Второй способ более продуман и похож на тактику «Половина поля». Для этого линкор, крейсера и эсминцы расположить по берегам, а вот катера разбросать по всему полю.

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

Даже если противник не собирается обстреливать поле по диагонали, выстрелов по углам не миновать. Таким образом, клетки А1, А10, К1, К10 лучше не занимать. Также нежелательно располагать корабли в самом центре поля – Д5, Д6, Е5, Е6.

Сила и неуязвимость игрока именно в однопалубных катерах – хотя уничтожить их можно с одного выстрела, для этого нужно их сначала найти. Чем надежнее они спрятаны, тем больше шансов одержать победу в партии.

Уничтожение противника

Для уничтожения флотилии соперника тоже существуют несколько тактик. Некоторые из них перекликаются с тактиками расстановки кораблей.

«Диагонали»

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

Игрок на картинке пренебрег тактикой правильного расположения и поплатился за это потерей линкора и катера.

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

«Шахматы»

Из названия ясно, каким образом нужно «зачищать» поле противника. Тактика хороша тем, что позволяет достаточно быстро найти линкоры, эсминцы и крейсера. Однако, с поиском катеров придется попотеть.

«Локатор»

Тактика немного похожа на «Шахматы», однако, со своей изюминкой. Чтобы воспользоваться этой тактикой в углах поля мысленно или прямо ручкой обозначить четыре квадрата размером 4 на 4 клетки.

Нужно обстрелять их по диагонали. Поле в результате будет разделено белым крестом. Учитывая количество судов, которые уже удалось потопить, найти остальные не составит труда. На картинке игрок обнаружил шесть кораблей благодаря тактике «Локатор».

«Гусиные лапки»

Уничтожение линкора дает игроку преимущество в том, что ему останется обстреливать куда меньшее количество клеток, чем если он подобьет, например, эсминец. Потопив линкор, вокруг него будет от 6 до 14 клеток, которые игроку обстреливать уже не нужно.

Итак, чтобы найти линкор, можно воспользоваться тактикой «Гусиные лапки». Для этого мысленно поделить поле на квадраты размером 4 на 4 клетки и в каждом квадрате сделать по четыре залпа.

В первом верхнем квадрате игрок дает залп по А3, Б4, В2, Г1. Далее остается повторить узор и в других квадратах. Линкор будет найден максимум за 24 выстрела.

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

В первом квадрате выстрелить по Б1 и Г3, с остальными миниполями поступить точно также. Одиннадцатый выстрел гарантированно подобьет крейсер.

Чтобы подбить двухпалубный эсминец в каждом квадрате нужно сделать по три выстрела. В первом квадрате палить по А2, Б3 и В4. Повторить тройной ход в остальных квадратах. В конце концов, останется самое сложное – поиск катеров. К сожалению тактики для их поиска нет. Игроку придется полагаться на свою интуицию или психологию противника.

Есть еще несколько правил для быстрого уничтожения флота соперника:

  • Правилами «Морской бой» не предписывается обязательно добивать корабль после первого «Ранен!». Однако, дело лучше довести до победного «Убит!», потому что так игрок сможет выяснить по каким клеткам можно не стрелять. Ведь суда не могут стоять вплотную друг к другу.
  • Обстреливая поле противника, не нужно топтаться на одном месте. Выстрелы должны охватить как можно большую площадь. Держа в голове понравившуюся тактику, игрок может «ходить» по полю, вместо того, чтобы продолжать обстреливать неудачный участок.
  • Если соперник использует какую-то тактику, а не бессистемно палит по случайным клеткам, нужно включить голову. Иногда, присмотревшись к ходам противника, можно догадаться, как он расставил свои корабли.
  • Часто играя с одним соперником, игрок может запоминать его тактику расстановки и обстрела, используя полученный опыт для улучшения собственной стратегии.

Для отработки навыков игры в «Морской бой» и проверки тактик можно воспользоваться онлайн-сервисами. Плюсы игровых сайтов в высокой скорости и низкой затрате ресурсов. А выработав и улучшив свою стратегию, игрок сможет блеснуть своими знаниями в партии с живым соперником.

Стопроцентного способа выиграть в «Морской бой» не существует, в конечном счете все зависит от стратегии противника и самого игрока. Именно по этой причине, «Морской бой» остается нескучным способом провести время.

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

Количество источников, использованных в этой статье: 11. Вы найдете их список внизу страницы.

Команда контент-менеджеров wikiHow тщательно следит за работой редакторов, чтобы гарантировать соответствие каждой статьи нашим высоким стандартам качества.

Морской бой – достаточно простая игра, но из-за того, что в ней нельзя увидеть корабли соперника, выиграть бой порой бывает довольно сложно. Несмотря на то, что до первого попадания вам потребуется совершить несколько случайных выстрелов, при стратегическом подходе к стрельбе вы сможете увеличить свои шансы на победу. Также вероятность победы может быть увеличена за счет продуманной расстановки кораблей, которая озадачит вашего противника.

Лучшая расстановка кораблей в игре морской бой. Оптимальный алгоритм игры в морской бой

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

Правила игры

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

Все перечисленные корабли должны быть размещены на квадратном поле 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. В комментариях абсолютно верно указывают, что на хабре уже были похожие публикации, было бы неверно не поставить ссылки на них.

Вы подумали, что в этом бою участвует авиация? Нет, но зато есть корабль весьма причудливой формы. Всего в бою принимают участие 9 кораблей, которые показаны на рисунке. Остальные правила игры такие же, как обычно.

Морской бой с минами

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

В остальном правила такие же, как обычно. Однако, если играть с авианосцами, то при ранении корабля необходимо сообщать противнику, какой именно корабль ранен. Например: «Ранен двухпалубный».

Совет. Если играть в морской бой с минами, при промахах лучше говорить не «мимо», а «вода», так как слова «мимо» и «мина» очень созвучны.

«Залпом! Пали!»

Этот «Морской бой» значительно сложнее предыдущих. За один ход игрок делает сразу 3 выстрела. В ответ «обстреливаемый» называет корабли которые попали под обстрел (если таковые есть), но не сообщает точные координаты. Например: «Одно попадание в четырехпалубный и одно в двухпалубный, третий выстрел мимо». Точные координаты сообщают только тогда, когда корабль полностью уничтожен, раненые же корабли нужно искать самостоятельно.

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

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

«Залпом! Пали!» – 2

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

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

Как лучше расставить корабли

Как известно, быстрее всего обнаруживаются противником крупные корабли, а «на закуску» обычно остаются подлодки, или однопалубные кораблики. Поэтому нет смысла «прятать» большие корабли, но стоит затруднить противнику поиск подводных лодок. Сделать это можно, очень компактно расположив свои «военно-морские силы» (см. рисунок 1): для четырех подлодок осталось больше половины поля (60 клеток, выделенные голубым цветом)! Если же корабли расставлять произвольно, подлодкам остается гораздо меньше места «для маневров»: например, на рисунке 2, подлодкам осталось всего 29 клеточек.

Рис. 1 Рис. 2

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

Тактика стрельбы

Так как с каждым потопленным кораблем зона поиска остальных заметно сужается, надо в первую очередь сосредоточиться на уничтожении больших кораблей, которые всегда проще найти. Поэтому сначала обстреливаем поле противника по диагонали с расстоянием в 3 клеточки (красные клетки на рисунке) – четырехпалубный корабль от таких «минометных очередей» не скроется. Попутно наверняка попадутся и более мелкие кораблики.

Как только четырехпалубный потоплен, можно переходить к более частому огню (желтые клетки на рисунке), буквально сметая с поля противника оставшиеся двухпалубные и трехпалубные корабли. После такого шквального огня останется только «прощупать» клетки, на которых могут прятаться уцелевшие подлодки.

Вы играете в морской бой, но не всегда выигрываете? Тогда вам наверняка интересно узнать, как существенно повысить свои шансы на выигрыш, как правильно расставить корабли, как быстро уничтожить корабли противника и, конечно же, как выиграть в игре Морской бой !

Правила игры «Морской Бой»

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

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

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

Как выиграть в игре Морской Бой

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

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

Как стрелять по кораблям противника

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

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

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

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

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

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

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

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

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

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

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

Последовательность лучших ходов для начала игры

Если обратиться к математической теории, то можно построить карту вероятности размещения кораблей:

Исходя из этой карты, последовательность «лучших ходов» при постоянных промахах выглядит так (см. рисунок):

C1, J8, A8, h2, A4, J4, D10, G10, E1, D2, B3, A2, C9, B10, H9, I10, I7, J6, I5, H6, J2, I3, h5, G5, G2, F3, E4, B7, A6, B5, C6, C3, D4, D5, F6.

Как расставить корабли

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

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

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

Правила игры Морской бой

Суть развлечения заключается в том, что два игрока по очереди называют определенные координаты на карте соперника, которая им неизвестна. Названная точка должна попасть в корабль или его часть. Задача каждого игрока: раньше потопить все суда противника. Вариантов такой игры на сегодняшний день несколько:

  1. На бумаге. Этот способ считается классическим вариантом развлечения. Он позволяет играть в любом месте. Подойдет для баталии тетрадка в клеточку или один листик (даже не разлинованный).
  2. Настольная. Первый вариант такого развлечения появился больше 80 лет назад. Настольная игра морской бой отличалась объемностью, красочностью. Спустя время появилось много вариаций с разной численностью кораблей, другими размерами полей.
  3. На компьютере. Современные гаджеты легко можно превратить в поле боя кораблей, скачав и установив нужное приложение. Есть варианты игры в сети. Особенности: выбранные точки фиксируются автоматически, есть озвучка, которая добавляет реальности происходящему.

Поле

Чтобы понять, как играть в морской бой, надо разобраться с основными понятиями. Начать нужно с рисования своего игрового поля. Оно представляет собой координатную плоскость, квадрат 10 на 10. Каждая его сторона свои определения: горизонтальную нумеруют сверху вниз, вертикальную – буквенными обозначениями. Используются буквы русского алфавита от «А» до «К» или от «А до «И», если «Ё» и «Й» пропускаются. Нередко вместо буквенных обозначений используются слова «Снегурочка» или «Республика». Они состоят из десяти букв, что соответствует 10 квадратам на игровом поле.

Рядом со «своим» полем надо начертить «чужое», которое имеет такие же размеры и координаты. Это участок для флотилии противника. Поле пустое, используется для отметки своих ходов и «ударов» соперника. С учетом того, что существует несколько вариантов системы координат, рекомендуется заранее договориться, какая из них будет использоваться. Далее необходимо расставить корабли.

Количество и расстановка кораблей

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

  • 1 четырехпалубный, корабль, линкор, – ряд из четырех клеток,
  • 2 трехпалубных, крейсера, – ряды из 3 клеток;
  • 3 двухпалубных, эсминцы, – ряды из 2 клеток;
  • 4 однопалубных корабля, торпедные катера, – 1 клетка.

В классической игре рисовать корабли на игровом поле необходимо согласно правилам. Например, все суда сторонами или углами не могут касаться друг друга. Встречаются варианты игры, когда корабли размещаются буквой «Г», квадратами или зигзагами, не запрещается касание углами. Также есть баталии с другим количеством судов или их строением, к примеру, пятипалубный (авианосец), несколько четырехпалубных. При использовании большего количества кораблей применяется другая форма поля, размером 15 на 15. Определиться с выбором игры необходимо заранее.

Ход игры

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

  1. Первоначально выбирается кто будет ходить с первым. Для этого игроки бросают жребий.
  2. При совершении «выстрела», игрок называет координаты, к примеру, В3.
  3. Если в клетке ничего нет, противник говорит «мимо». По названным координатам расположен корабль, то «ранен» – если в него попали, «убит» – когда уничтожен полностью.
  4. Крестиком обозначается попадание в корабль противника. При таком удачном выстреле, согласно правилам, игрок ходит второй раз. Право хода передается второму игроку, если удар пришелся по пустому полю.
  5. Побеждает тот, кто первый потопит все корабли своего соперника.
  6. По окончании игры противники могут потребовать друг у друга игровые поля для проверки. Проигравшим будет считаться тот, у кого поля неверно заполнены. Победа достается тому, кто вел честную борьбу.

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

  1. Неправильно начерченное поле – количество судов превышает нужное, неверные размеры сторон или система координат.
  2. Один из игроков подсмотрел расположение судов у другого.
  3. Пропуск хода по невнимательности.

Стратегия выигрыша

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

  1. Лист с расчерченным полем необходимо держать так, чтобы противник не мог посмотреть.
  2. Для удобства и отчетности рекомендуется отмечать точками выстрелы врага.
  3. Самые уязвимые корабли – это линкор и торпедный катер. Первый очень крупный, поэтому его легко обнаружить. Торпедные катера имеют маленькие размеры, их трудно найти на поле, но топятся они с одного удара.
  4. Новички нередко целятся по углам игрового квадрата, поэтому рисовать там их не рекомендуется.
  5. Опытные игроки советуют сразу придумать схему расположения кораблей на поле. Хороших результатов можно добиться, если расставить единицы флотилии по схеме. Например, собрав крейсера и линкоры в одном месте, а катера и эсминцы расположить в хаотичном порядке.
  6. Приемы стрельбы по флотилии могут быть разными. Чтобы быстрее истребить линкор, поиски его рекомендуется начать по диагонали. Стрелять по квадратам нужно на 4, через 3 клетки. Дальше двигаться нужно по убыванию: разыскивать трехпалубные, двухпалубные и одиночки-катера.

Видео

Дети настолько увлечены различными гаджетами, что зачастую не только читать, но даже играть не в виртуале не хотят. Это тревожит и специалистов, и родителей. В одной из серий мультфильма «Барбоскины» Дедушка как раз предлагает способ вернуть детей в реальный мир при помощи игры всей семьей в обычный «Морской бой» на бумаге.

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

Хотя эта настольная игра Морской бой сегодня существует и в компьютерном варианте, но традиционная версия по уничтожению кораблей на листочке в клеточку имеет перед виртуальной одно несомненное преимущество.

Играть с живым человеком интересней, чем с компьютером, бой получается намного веселей и азартней. Да и полезней, ведь в таком случае у ребенка развивается не только логика и стратегическое мышление, но и интуиция, умение «просчитывать» и читать эмоции другого человека.

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

Учимся играть в морской бой

Правила в морской бой для двоих человек довольно просты. На бумаге каждый игрок должен нарисовать квадрат 10х10 клеточек, которые обозначают с одной стороны буквами от А до К (без Ё и Й), с другой цифрами от 1 до 10. В этом поле нужно расставить свои корабли.

Рядом рисуется второй такой же квадрат с аналогичным обозначением полей. На нем в процессе боя игрок фиксирует свои выстрелы.

  • Совершая «выстрел» игрок называет координаты цели, например, Б8.
  • Противник отвечает «мимо», если в клеточке ничего нет; «ранен», если в его корабль попали; «убит», когда корабль уничтожен.
  • Попадание в чужой корабль обозначается крестиком. В этом случае правила дают право на следующий выстрел.
  • При промахе право на выстрел переходит ко второму игроку. Побеждает тот, кто первый уничтожит все корабли противника.
  • По окончании игры участник может потребовать у противника предъявить его игровое поле и сверить записи ходов.

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

  1. Состав кораблей: 4 подлодки из одной клеточки, 3 эсминца, состоящие из двух клеток, 2 крейсера из трех клеток и один четырехклеточный линкор.
  2. Рисовать корабли надо так, чтобы они ни в коем случае не касались друг друга. Между ними должно быть расстояние не меньше одной клетки.
  3. Располагать корабли можно и по горизонтали, и по вертикали, и у края игрового поля.

Чего делать нельзя

Оговаривают правила и определенные ограничения.

  1. Нельзя изменять состав кораблей.
  2. В некоторых правилах говорится, что один корабль может иметь только линейную форму, в некоторых вариантах допускается форма буквы Г. Этот момент нужно оговорить заранее. Но во всех вариантах нельзя рисовать и располагать корабли по диагонали.
  3. Нельзя изменять величину поля.
  4. Нельзя искажать координаты и скрывать попадание.

Стратегии

Не только простые правила и условия организации игры объясняют популярность игры Морской бой, но и то, что выигрыш в ней определяется не только везением, но и верной стратегией и тактикой. Это игра двоих людей, а значит, к логике присоединяются эмоции и хитрости. Поэтому выигрышная стратегия предполагает:

  • Соперник ни в коем случае не должен иметь возможности увидеть ваше игровое поле.
  • Учитывайте мастерство и способ игры соперника. Например, если ваш противник начинающий игрок, то не стоит располагать свои корабли в углах поля. Неопытные зачастую начинают именно с них, особенно с хода А1. Если с вами будет играть опытный и давний соперник, который уже знает, что в углах ваших кораблей быть не может, то стоит сломать шаблон и спрятать парочку именно там.
  • Продумайте расположение своих кораблей. Одной из выигрышных стратегий считается расположение крупных кораблей компактно в одном месте, а одноклеточных вразброс подальше друг от друга. Тогда игрок, быстро найдя крупные корабли, потратит много времени на поиск маленьких подлодок. Это даст вам время и шанс отыграться.

Выигрышная тактика

К правильной тактике игры относятся несколько простых приемов.

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

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

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

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

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

Играем в “Морской Бой”

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

Морской бой – популярная игра с простыми правилами. Задаваясь вопросом, как выиграть в морской бой, игроку в этом всегда поможет победный настрой и правильная стратегия.

Для начала нужно вспомнить правила игры. В распоряжении у игрока десять кораблей: 1 четырехпалубный линкор, 2 трехпалубных крейсера, 3 двухпалубных эсминца и 4 однопалубных катера.

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

Можно договориться с оппонентом о возможности менять форму судов, «загибать» корабли. Так суда на поле будут похожи на детали «Тетриса», их будет сложнее потопить, а играть станет интереснее.

Удачный расклад в игре зависит не от воли случая, а от двух важных компонентов стратегии:

  • расстановка собственных судов;
  • оптимальный вариант стрельбы по флоту противника.

Расположение кораблей

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

«Половина поля»

Первая тактика заключается в том, что линкор, крейсеры и эсминцы располагаются на одной половине поля.

А вот четыре катера располагаются на противоположной стороне, в результате они становятся практически неуязвимы. Противнику придется сделать очень много выстрелов, прежде чем он услышит «Убит!».

«Диагонали»

Большинство игроков первым делом начинают простреливать поле по двум диагоналям – от угла к углу. Если соперник относится к этому типу, вторая тактика окажется весьма кстати. Все корабли располагаются таким образом, чтобы выстрелы по диагонали их не задели.

Эта тактика хороша тем, что ее можно применить вместе с еще одной тактикой расстановки. Продуманное расположение своего флота – половина успеха.

«Берега»

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

Такая тактика может себя не оправдать, особенно, когда соперник догадается, в чем фишка. Если секрет расположения судов раскроется, соперник за минимальное количество ходов потопит всю флотилию игрока.

Второй способ более продуман и похож на тактику «Половина поля». Для этого линкор, крейсера и эсминцы расположить по берегам, а вот катера разбросать по всему полю.

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

Даже если противник не собирается обстреливать поле по диагонали, выстрелов по углам не миновать. Таким образом, клетки А1, А10, К1, К10 лучше не занимать. Также нежелательно располагать корабли в самом центре поля – Д5, Д6, Е5, Е6.

Сила и неуязвимость игрока именно в однопалубных катерах – хотя уничтожить их можно с одного выстрела, для этого нужно их сначала найти. Чем надежнее они спрятаны, тем больше шансов одержать победу в партии.

Уничтожение противника

Для уничтожения флотилии соперника тоже существуют несколько тактик. Некоторые из них перекликаются с тактиками расстановки кораблей.

«Диагонали»

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

Игрок на картинке пренебрег тактикой правильного расположения и поплатился за это потерей линкора и катера.

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

«Шахматы»

Из названия ясно, каким образом нужно «зачищать» поле противника. Тактика хороша тем, что позволяет достаточно быстро найти линкоры, эсминцы и крейсера. Однако, с поиском катеров придется попотеть.

«Локатор»

Тактика немного похожа на «Шахматы», однако, со своей изюминкой. Чтобы воспользоваться этой тактикой в углах поля мысленно или прямо ручкой обозначить четыре квадрата размером 4 на 4 клетки.

Нужно обстрелять их по диагонали. Поле в результате будет разделено белым крестом. Учитывая количество судов, которые уже удалось потопить, найти остальные не составит труда. На картинке игрок обнаружил шесть кораблей благодаря тактике «Локатор».

«Гусиные лапки»

Уничтожение линкора дает игроку преимущество в том, что ему останется обстреливать куда меньшее количество клеток, чем если он подобьет, например, эсминец. Потопив линкор, вокруг него будет от 6 до 14 клеток, которые игроку обстреливать уже не нужно.

Итак, чтобы найти линкор, можно воспользоваться тактикой «Гусиные лапки». Для этого мысленно поделить поле на квадраты размером 4 на 4 клетки и в каждом квадрате сделать по четыре залпа.

В первом верхнем квадрате игрок дает залп по А3, Б4, В2, Г1. Далее остается повторить узор и в других квадратах. Линкор будет найден максимум за 24 выстрела.

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

В первом квадрате выстрелить по Б1 и Г3, с остальными миниполями поступить точно также. Одиннадцатый выстрел гарантированно подобьет крейсер.

Чтобы подбить двухпалубный эсминец в каждом квадрате нужно сделать по три выстрела. В первом квадрате палить по А2, Б3 и В4. Повторить тройной ход в остальных квадратах. В конце концов, останется самое сложное – поиск катеров. К сожалению тактики для их поиска нет. Игроку придется полагаться на свою интуицию или психологию противника.

Есть еще несколько правил для быстрого уничтожения флота соперника:

  • Правилами «Морской бой» не предписывается обязательно добивать корабль после первого «Ранен!». Однако, дело лучше довести до победного «Убит!», потому что так игрок сможет выяснить по каким клеткам можно не стрелять. Ведь суда не могут стоять вплотную друг к другу.
  • Обстреливая поле противника, не нужно топтаться на одном месте. Выстрелы должны охватить как можно большую площадь. Держа в голове понравившуюся тактику, игрок может «ходить» по полю, вместо того, чтобы продолжать обстреливать неудачный участок.
  • Если соперник использует какую-то тактику, а не бессистемно палит по случайным клеткам, нужно включить голову. Иногда, присмотревшись к ходам противника, можно догадаться, как он расставил свои корабли.
  • Часто играя с одним соперником, игрок может запоминать его тактику расстановки и обстрела, используя полученный опыт для улучшения собственной стратегии.

Для отработки навыков игры в «Морской бой» и проверки тактик можно воспользоваться онлайн-сервисами. Плюсы игровых сайтов в высокой скорости и низкой затрате ресурсов. А выработав и улучшив свою стратегию, игрок сможет блеснуть своими знаниями в партии с живым соперником.

Стопроцентного способа выиграть в «Морской бой» не существует, в конечном счете все зависит от стратегии противника и самого игрока. Именно по этой причине, «Морской бой» остается нескучным способом провести время.

Сергей Лузум / Морской Бой / Олимпиада



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



Научился: Пока что ничему. Как правильно расставлять корабли и как их ловить давно известно, а кода здесь не было. Но планирую повнимательнее изучить сам код победителей, чтобы увидеть как вообще задавать выстрелы и определять зоны, в которые стрелять уже не надо.
Трудности: Просто нет необходимых знаний для переноса алгоритма из головы в программу. Лучший алгоритм у Оранжа 2775. У Елены 4004 отсутствует рандом, у нее всегда одинаковое количество ходов тратится на одну и ту же расстановку, минимум = среднему = максимуму. Она методично проходит по А4 — А8 — Б1 — Б5 и т.п. — ловит четырехпалубный. Затем так же методично проходит А2 — А6 — А10 — Б3 и т.п. и ловит двухпалубные. А затем просто проходит и методично добивает остальных. Но такой алгоритм очень предсказуем и можно просто добиться такой расстановки против нее, что количество ходов всегда будет 80, достаточно поместить однопалубный в самый конец сетки. Например, К9.
Думаю, что не совсем правильно начинать ловить корабли от левого верхнего угла. Люди больше тяготеют к расстановке кораблей внизу и справа. И при расстановке они ставят корабли так, чтобы не попасть сразу под ходы А4, А8, Б1, Б5 и т.п. Думаю, что нужно начинать выстрелы с клеток К4, К8, З10, Г10 и далее по кругу на вертикаль А и горизонталь 1. Затем пройти по спирали до центра. Аналогично пройти шагом 2 и выловить все корабли, кроме одиночных. Когда останутся только одиночные, то первые 3 выстрела в те клетки, которые имеют максимальное количество «неоткрытых» соседей, а 4-й — в клетку с минимальным количеством соседей. Необходимое соотношение выстрелов в наиболее выгодные клетки с выстрелами в клетки, у которых все соседние уже открыты, нужно определять опытным путем.

Игра «Морской Бой»: как играть на русском: куда расставить корабли

Если не пробовали играть в «Морской Бой», то скорее всего, вас забросили инопланетяне. Потому, что в списке дел русского школьника игра «Морской Бой» помечена как «верное средство от скуки» и сегодня самое время убедиться!

На весь экран

Давайте научимся играть в «Морской Бой» онлайн — на русском языке бесплатно и без регистрации. Вам даже не нужен соперник — сразитесь с компьютером! Начнём с основ.

Правила как играть в «Морской Бой» на листочке

Оригинальный «Морской Бой» — классическая настольная игра на тактику и внимательность, где двум игрокам полагалось начертить на листике в клеточку 2 сетки 10×10 с буквами по горизонтали и цифрами по вертикали. Первая — поле для размещения своего флота из 10 кораблей так, чтобы не видел соперник. Вторая — план боя с отметкой ходов в сторону противника.

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

  • 1 четырёхпалубный линкор;
  • 2 трёхпалубных крейсера;
  • 3 двухпалубных эсминца;
  • 4 однопалубные лодки.

При расстановке обязательно учитывается расстояние в 1 клетку (корабли не должны соприкасаться ни бортами, ни кормами).

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

В онлайн версии «Морского Боя» ничего чертить не нужно и отмечать координаты каждой точки тоже — компьютер сделает это автоматически и дополнит каждый ход забавной анимацией. Вы начинаете играть первым и можете следить за статистикой ходов.

Как расставить корабли чтобы выиграть в «Морской Бой»

Самые уязвимые мишени — четырёхпалубные и трёхпалубные корабли, их просто выявить, если стрелять с интервалом в три клетки. Обычно их ставят далеко друг от друга, но в одной диагонали, под углом. Обойдите это правило — ставьте корабли кучнее — все крупные вертикально или горизонтально.

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

Старайтесь сократить площадь занятых участков и запутать противника — «на виду» размещайте самые маленькие корабли.

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

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

Готовы проверить, насколько действенный этот метод игры в «Морской Бой»? Открывайте игру на весь экран и удачной битвы! Ждём ваших результатов в комментариях.

Управление

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

Для изменения положения в пространстве (разворота горизонтально или вертикально) — удерживайте «Ctrl», пока кораблик вне сетки и только после этого кликайте и перетаскивайте.

Морской бой играть онлайн

– Автор: Игорь (Администратор)

Если вы хотите передохнуть и вам нравится в морской бой играть онлайн, то рады сообщить, что вы можете насладиться этой чудесной игрой, знакомой каждому с детства. Важно отметить, что вам не нужно ничего устанавливать, так как игра написана командой Ida-Freewares.ru без применения Flash, только JavaScript и php.

Насладитесь игрой в морской бой!

 

Правила игры в Морской бой (классический)

Игровое поле игры Морской бой представляет собой квадрат размерами 10 на 10 для каждого игрока. На данном поле размещается флот кораблей. В целом существуют разные системы нумерации координат. Например, в школьных версиях, которые рисовались на простых листочках бумаги, нумерация по вертикали идет от 1 до 10, а по горизонтали от «а» до «к», с пропуском букв «Ё» и «Й». В данной же версии нумерация по горизонтали от 1 до 10, так как вашим противником будет компьютер.

На поле размещаются следующий набор кораблей:

  • 1 корабль состоящий из 4 клеток (по горизонтали или по вертикали без изгибов). Его еще называют четырехпалубный
  • 2 корабля состоящих из 3 клеток (аналогично с предыдущим пунктов). Его называют трехпалубным
  • 3 корабля состоящих из 2 клеток (расстановка по аналогии). Его называют двухпалубным
  • 4 корабля состоящих из 1 клетки. Их называют однопалубные

Ограничения на размещение кораблей в игре Морской бой:

  • Корабли не могут касаться друг друга сторонами и углами. Т.е. вокруг корабля должны быть либо пустые клетки, либо границы поля

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

Реакция на ходы в игре Морской бой:

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

Как определяется победитель в игре Морской бой

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

☕ Хотите выразить благодарность автору? Поделитесь с друзьями!

  • Правила написания кода: сложные или простые конструкции использовать?
  • OpenCart 2: Упрощаем использование локализации в коде
Добавить комментарий / отзыв

Поиск оптимальных алгоритмов действий противников в игре «Морской бой»

1 ИПМ им.м.в.келдыша РАН Электронная библиотека Препринты ИПМ Препринт 98 за 2015 г. ISSN (Print) ISSN (Online) Дидыч Я.О., Малинецкий Г.Г. Поиск оптимальных алгоритмов действий противников в игре «Морской бой» Рекомендуемая форма библиографической ссылки: Дидыч Я.О., Малинецкий Г.Г. Поиск оптимальных алгоритмов действий противников в игре «Морской бой» // Препринты ИПМ им. М.В.Келдыша с. URL:

2 О р д е н а Л е н и н а ИНСТИТУТ ПРИКЛАДНОЙ МАТЕМАТИКИ имени М.В.Келдыша Р о с с и й с к о й а к а д е м и и н а у к Я.О. Дидыч, Г.Г. Малинецкий Поиск оптимальных алгоритмов действий противников в игре «Морской бой» Москва 2015

3 Дидыч Я.О., Малинецкий Г. Г. Поиск оптимальных алгоритмов действий противников в игре «Морской бой» В работе проведено сравнение семейств наиболее популярных алгоритмов действий атакующей и защищающейся сторон при игре в морской бой. Вычислены статистические характеристики четырех алгоритмов атаки поля с варьируемыми параметрами; шести алгоритмов расстановки кораблей с вариацией параметров, а также трех алгоритмов добивания кораблей. Показано, что существует лучший из апробированных алгоритмов, наиболее эффективный как для случайных конфигураций кораблей, так и в случае применения алгоритмов защиты. Точно так же найден лучший алгоритм расположения кораблей, обеспечивающий их защиту. Ключевые слова: морской бой, алгоритмы расстановки кораблей, алгоритмы атаки, алгоритмы добивания, моделирование противоборства, метод Монте-Карло. Y.O. Didych, G.G. Malinetckii The optimal attacking and defensive algorithms research in «Sea Battle» game The comparison of bunches of the most popular attacking and defensive algorithms in «Sea Battle» game is given. Statistical characteristics of four attacking algorithms with variable parameters are calculated as far as six defensive algorithms with variable parameters and three algorithms finishing ships. The evidence of existence of the best attacking algorithm against either random configurations or specific defensive algorithms is presented. In the same manner the best defensive algorithm is found. Key words: sea battle game, deploying ships algorithms, attacking algorithms, finishing algorithms, confrontation modeling, Monte-Carlo method. Работа выполнена при поддержке РФФИ (проект а). Содержание Введение… 3 Правила игры «Морской бой»… 4 ы расстановки… 4 ы атаки… 8 ы добивания Выводы Литература… 16

4 3 ВВЕДЕНИЕ Целью данной работы является поиск наиболее эффективных алгоритмов, используемых для уничтожения объектов противника на поле боя, а также алгоритмов их защиты. Для симуляции боя используется знакомая игра «Морской бой». На ее примере ищутся лучший алгоритм атаки объектов (кораблей), лучший алгоритм расстановки кораблей на поле боя и лучший алгоритм добивания объекта, если известно, что в него было попадание. Эксперимент состоял в проведении симуляции игры в «Морской бой» множества алгоритмов атаки против множества алгоритмов расстановки. Игра проходила до тех пор, пока атакующий игрок не уничтожал все корабли на поле. Основной измеряемой характеристикой является количество выстрелов, необходимых для победы. Согласно этой характеристике оценивается эффективность атаки и эффективность защиты. На основе нее рассчитываются статистические показатели для серий игр: математическое ожидание числа шагов победы; стандартное отклонение распределения частоты побед по количеству шагов, за которые эти победы достигались; процентили указанного распределения. Согласно определению, N-й процентиль распределения величины значение, левее которого на гистограмме распределения расположено N процентов наблюдений. Каждый алгоритм атаки, как и каждый алгоритм расстановки кораблей на поле боя, описываются общей логикой работы и набором варьируемых параметров. Например, диагональный алгоритм атаки содержит типовую (неизменяемую) характеристику обстрела вдоль главной диагонали поля боя и изменяемые параметры, при помощи которых выбирается порядок диагоналей обстрела. Для алгоритма расстановки по краям неизменной остается необходимость разместить корабль вдоль края поля, изменяемой характеристикой где, с точностью до координаты, будет установлен каждый корабль. Играл каждый алгоритм атаки (в разрезе набора варьируемых параметров) с каждым алгоритмом расстановки (в разрезе набора варьируемых параметров). Отдельно для каждой игры собиралась статистика алгоритмов добивания кораблей, которая затем была просуммирована. Параметры симуляции: количество атакующих алгоритмов в разрезе наборов параметров 818; количество алгоритмов расстановок в разрезе наборов параметров 900; количество симулированных сражений = ; для алгоритмов атаки использовался метод добивания «крестообразный», описанный далее.

5 4 ПРАВИЛА ИГРЫ «МОРСКОЙ БОЙ» Правила игры «Морской бой» таковы. Играют два игрока. У каждого из них имеется поле размером 10 на 10 клеток, на котором перед началом игры располагаются корабли. Корабли бывают следующих видов: единичный (4 шт.). Состоит из одной клетки поля; двойной (3 шт.). Состоит из двух клеток поля; тройной ( 2 шт.). Состоит из трех клеток поля; четверной (1 шт. ). Состоит из четырех клеток поля. Корабли представляют собой горизонтальную либо вертикальную конфигурацию клеток, расположенных по линии. Сгибать корабли запрещено. В процессе игры игроки делают выстрелы по полям расположения кораблей друг друга по очереди. Если один из игроков промахнулся попал в поле, не занятое кораблем противника то ходить начинает соперник. Пока промаха не произошло, стрельба игрока продолжается. Этой игре посвящен ряд исследований [1,2,3]. При игре в «Морской бой» выигрыш одной из сторон обеспечивается уничтожением кораблей противника за меньшее число шагов, чем у противоположной стороны. Можно выделить четыре параметра игры: алгоритм атаки игрока 1, алгоритм расстановки кораблей игрока 1, алгоритм атаки игрока 2, алгоритм расстановки кораблей игрока 2. Цель работы найти оптимальную стратегию одной из сторон. Поскольку игрок 1 не может влиять на выбор атакующего алгоритма игрока 2, а также на выбор расстановки кораблей игрока 2, и наоборот, то оптимизировать следует атакующие алгоритмы и расстановки одной из сторон без учета действий другой стороны. Поэтому методы теории игр[4] в данном случае мало применимы. Тем не менее, возможно представить ситуацию, когда защищающийся игрок до конца игры не выставляет единичный корабль. И лишь на последнем ходе размещает его, тем самым определяя конфигурацию расстановки кораблей с максимальным количеством шагов для ее уничтожения при заданных расстановках остальных кораблей. Аналогичным образом, атакуемый игрок может размещать корабли в момент игры в тех клетках, по которым ведет стрельбу противник, здесь определяется минимальное число шагов для данного алгоритма атаки. В работе необходимо получить усредненные результаты для множества алгоритмов защиты и атаки, поэтому используется аппарат математической статистики. Для удобства обозначения примем нумерацию строк матрицы поля расположения кораблей за X (X = 0,..,9), колонок матрицы поля за Y (Y = 0,…,9). АЛГОРИТМЫ РАССТАНОВКИ В процессе симуляции рассмотрено шесть популярных алгоритмов расстановки кораблей:

6 5 расстановка кораблей по краям; группировка кораблей с одного бока поля; расположение кораблей случайно в одном направлении; расположение кораблей случайно в двух направлениях; полностью случайное расположение кораблей; группировка кораблей в центре поля. Расстановка кораблей по краям поля. Этот алгоритм расстановки выделяет полосу у края поля шириной в одну клетку. То есть координаты: X = 0, Y = 0,..,9; X = 9, Y = 0,…,9; X = 0,…,9, Y = 0; X = 0,…,9, Y = 9. В рамках выделенной полосы размещаются все корабли, кроме единичных, случайным образом. После размещения всех кораблей, кроме единичных, размещаются единичные корабли по всему полю в доступных клетках. Группировка кораблей с одной стороны поля. Этот алгоритм размещения заключается в выделении с произвольной стороны поля области шириной четыре клетки (например, X = 0,…,3, Y = 0,…,9). Затем в выделенной области произвольным образом размещаются все корабли, кроме единичных. Ограничение накладывается на ориентацию корабля (вертикальность или горизонтальность). Если выделены крайняя правая или левая области поля, то ориентация кораблей вертикальна, если верхняя или нижняя то горизонтальна. Если корабли в указанных начальных ограничениях ширины в 4 клетки невозможно разместить на одном из шагов алгоритма размещения, то ширина поля увеличивается на единицу до тех пор, пока все корабли, кроме единичных, не будут размещены. В последнюю очередь размещаются единичные корабли на всем пространстве поля случайным образом. Расположение кораблей случайно в одном направлении. Этот алгоритм выбирает ориентацию всех кораблей (вертикальность или горизонтальность) и размещает корабли случайно по всему полю в заданной ориентации. Расположение кораблей случайно в двух направлениях. реализован так, чтобы после размещения на поле половина клеток кораблей, кроме единичных, принадлежала вертикальным кораблям, другая половина горизонтальным. В результате при реализации алгоритма выбирается ориентация одного четверного и двух двойных кораблей, а остальные неединичные корабли имеют другую ориентацию. Полностью случайное расположение кораблей. В данном алгоритме размещения случайным образом выбирается как ориентация, так и координаты кораблей. Группировка кораблей в центре поля. сделан так, чтобы максимально сгруппировать корабли в центре поля. Для этого выбирается квадрат в центре поля с координатами X = {4,5}; Y = {4,5}. Делается попытка разместить корабли в данной области. Сперва размещаются единичные корабли, затем двойные, потом тройные и четверной. Если в выделенной области отсутствует место для размещения корабля, ее границы увеличиваются на единицу.

7 6 Среди алгоритмов расстановки каждый из них представлен в 150 вариациях. Результаты симуляции для алгоритмов расстановки представлены в таблицах 1а и 1б. Таблица 1а. Статистические результаты алгоритмов расстановки По краям Группировка сбоку Случайно в одном направлении Случайно в двух направлениях Полностью случайно Сгруппировать в центре Математическое ожидание, s Стандартное отклонение, σ Процент выборки в интервале (s σ; s + σ) 68,10 7,92 74,67 66,30 8,72 72,31 62,34 8,40 72,52 62,10 7,98 70,58 62,10 8,00 70,68 60,40 8,75 72,48 Таблица 1б. Статистические результаты алгоритмов расстановки 95-й 85-й 15-й 5-й процентиль процентиль процентиль процентиль По краям Группировка сбоку Случайно в одном направлении Случайно в двух направлениях Полностью случайно Сгруппировать в центре

8 7 Согласно таблице 1а наибольшее математическое ожидание числа шагов потопления всех кораблей у алгоритма размещения кораблей по краям, наименьшее у алгоритма группировки кораблей к центру поля. Для алгоритмов размещения кораблей также были вычислены процентили распределения (таблица 1б). На основе данных процентилей видно, что гистограмма распределения результатов алгоритма размещения кораблей по краям смещена в сторону увеличения шагов уничтожения поля, что подтверждает превосходство метода расстановки. Гистограмма группировки кораблей в центре смещена в противоположную сторону. Помимо игры против спектра исследуемых алгоритмов атаки были проведены расчеты при игре алгоритмов расстановки против 818 случайных алгоритма атаки (метод Монте-Карло). На основе полученных результатов лидер остался неизменен это расстановка кораблей по краям поля. Вывод сделан на основе сравнения математических ожиданий количества шагов для победы над расстановкой, а также на основе сравнения процентилей распределений соответствующих алгоритмов защиты (таблицы 1в и 1г). Таблица 1в. Статистические результаты алгоритмов расстановки против случайных алгоритмов атаки Математическое ожидание, s Стандартное отклонение, σ Процент выборки в интервале (s σ; s + σ) По краям 66,08 7,95 71,81 Группировка сбоку Случайно в одном направлении Случайно в двух направлениях Полностью случайно Сгруппировать в центре 64,46 8,37 69,34 60,31 8,18 70,81 60,40 7,62 73,80 60,70 7,51 71,36 60,34 7,41 72,36 Таблица 1г. Статистические результаты алгоритмов расстановки против случайных алгоритмов атаки 95-й 85-й 15-й 5-й процентиль процентиль процентиль процентиль По краям Группировка

9 8 сбоку Случайно в одном направлении Случайно в двух направлениях Полностью случайно Сгруппировать в центре Как видно из указанных таблиц, распределение алгоритма расстановки по краям поля смещено вправо. На это указывает наибольшее значение процентилей распределения количества выигрышей по количеству затраченных шагов. Если говорить про худший вариант при тестировании против спектра алгоритмов атаки группировка в центре поля то при тестировании против случайных алгоритмов атаки результаты не столь яркие. У четырех расстановок с наименьшим математическим ожиданием количества шагов уничтожения поля результаты математических ожиданий приблизительно равны (таблица 1в). Так же не сильно отличаются стандартные отклонения и проценты выборки в интервале одного стандартного отклонения от математического ожидания. Похожая ситуация и при рассмотрении распределения результатов с точки зрения процентилей (таблица 1г). Если суммировать сказанное, то по итогам двух тестирований алгоритмов расстановки безоговорочным лидером является расстановка по краям поля. Расстановка группировки в центре поля является безусловным аутсайдером тестирования против спектра алгоритмов атаки и находится в числе четырех худших алгоритмов расстановки против случайного метода атаки. АЛГОРИТМЫ АТАКИ Среди наиболее популярных атакующих алгоритмов в работе были рассмотрены диагональные алгоритмы, линейные алгоритмы (обход змейкой), случайные алгоритмы, алгоритмы обхода по квадратам. Диагональный алгоритм характеризуется выстрелами по диагоналям, параллельным главной диагонали поля расположения кораблей. В алгоритме используются параметры. Первый из них Y координата серии выстрелов, второй шаг для серии выстрелов. Для того чтобы обеспечить полный прострел поля, необходимо иметь несколько серий, характеризующихся параметрами Y координаты первой ячейки выстрела и шагом стрельбы. X координата первой ячейки выстрела всегда равна 0. Когда выбрана ячейка для выстрела, происходит

10 9 стрельба параллельно главной диагонали с постоянным шагом 1. После достижения края поля вновь выбирается первая ячейка для новой диагонали обстрела с учетом шага. Обход осуществляется справа налево. Если для заданного шага и начальной диагонали обстрела выстрелы более невозможны, производится переход к следующему шагу и новой начальной координате отчета диагоналей. Линейный алгоритм (обход по змейке) характеризуется выстрелами снизу вверх с определенным шагом. В качестве варьируемых параметров используются начальная координата (например, (0, 1)) и шаг (например, 5). В дальнейшем идет обстрел первой колонки поля, затем второй, третьей с шагом пять, пока не достигнут конец поля. Например, первый выстрел будет (0, 1), второй (0,6), третий (1,2) и так далее. После достижения конца поля выбираются новые начальная координата и шаг и вновь происходит обстрел. Так до тех пор, пока все корабли не будут убиты. Случайный алгоритм характеризуется полностью случайной стрельбой. Координаты (X,Y) выбираются произвольно в диапазоне 0,…,9. Квадратный алгоритм (обход по квадратам) заключается в обстреле поля противника по квадратам. Сначала обстреливаются четыре угловых точки квадрата, затем четыре соседние к ним по часовой стрелке, после это соседние к обстрелянным на предыдущем шаге и так далее. Варьируемыми параметрами являются размер стороны квадрата и координаты первой точки угла. Среди атакующих алгоритмов в разрезе параметров симулировались: 100 разновидностей диагонального алгоритма; 49 разновидностей квадратного алгоритма; 269 разновидностей линейного алгоритма; 400 разновидностей случайного алгоритма. В ходе проведенных симуляций были получены статистические результаты для алгоритмов атаки (таблицы 2а и 2б). Таблица 2а. Статистические результаты алгоритмов атаки Математическое ожидание, s Стандартное отклонение, σ Процент выборки в интервале (s σ; s + σ) Диагональный 56,19 7,80 68,79 Случайный 62,39 8,20 70,06 Линейный 67,01 7,40 71,80 Квадратный 68,87 8,84 70,01

11 10 Таблица 2б. Статистические результаты алгоритмов атаки 95-й 85-й 15-й 5-й процентиль процентиль процентиль процентиль Диагональный Случайный Линейный Квадратный Было вычислено распределение количества побед по количеству шагов для каждого набора варьируемых характеристик, а затем результаты распределения просуммированы для каждого алгоритма. Согласно таблице 2а наименьшее математическое ожидание шагов для уничтожения поля противника у диагонального алгоритма, наибольшее у алгоритма обхода по квадратам. Стандартные отклонения распределений у всех атакующих алгоритмов атаки примерно одинаковы, как и процент выборки в соответствующих интервалах отклонений. Если посмотреть на таблицу 2б, то видно, что значение процентилей распределения диагонального алгоритма атаки меньше соответствующих значений конкурирующих алгоритмов. Так как показатели стандартных отклонений алгоритмов отличаются незначительно, это говорит о смещении гистограммы диагонального алгоритма влево при сохранении ее формы по сравнению с другими атакующими алгоритмами. Аналогично гистограмма алгоритма атаки по квадратам смещена вправо в сторону наибольших шагов, необходимых для победы. Смещение можно наглядно наблюдать на рис Рис. 1. Гистограмма диагонального алгоритма

12 11 Рис. 2. Гистограмма случайного алгоритма Рис. 3. Гистограмма линейного алгоритма Рис. 4. Гистограмма квадратного алгоритма

13 12 Помимо сражений против указанных алгоритмов расстановок были проведены расчеты игры атакующих алгоритмов против 900 случайных (метод Монте-Карло) алгоритмов размещений кораблей. Ранжирование кораблей осталось прежним (см. таблицы 2в и 2г). Как видно из таблицы 2в, при игре против случайно расставленных конфигураций у алгоритмов атаки уменьшилось математическое ожидание числа шагов победы, однако лидер и аутсайдеры не изменились. Подобные изменения коснулись и расчета процентилей выборок результатов алгоритмов (таблица 2г): большинство соответствующих значений стали меньше, но при этом ранжирование не изменилось. Таблица 2в. Статистические результаты алгоритмов атаки при игре со случайным алгоритмом расположения кораблей Математическое ожидание, s Стандартное отклонение, σ Процент выборки в интервале (s σ; s + σ) Диагональный 53,19 5,19 75,39 Случайный 61,54 7,83 72,66 Линейный 62,84 6,77 69,95 Квадратный 65,52 7,25 70,47 Таблица 2г. Статистические результаты алгоритмов атаки при игре со случайным алгоритмом расположения кораблей 95-й 85-й 15-й 5-й процентиль процентиль процентиль процентиль Диагональный Случайный Линейный Квадратный Как и в случае тестирования против спектра алгоритмов защиты, так и в случае тестирования против случайных алгоритмов расстановки наихудший и наилучший алгоритмы атаки одни и те же. Лучший алгоритм атаки стрельба по диагонали, худший стрельба по квадратам.

14 13 АЛГОРИТМЫ ДОБИВАНИЯ Были проанализированы три разновидности алгоритмов добивания. Первый из них добивание производится крестообразно. Сначала делается попытка добивать вверх от переданной точки попадания. Добивание идет последовательно клетка за клеткой, пока не происходит промах. Если при движении вверх было хотя бы одно попадание, то делается вывод о вертикальном расположении корабля. После промаха при движении вверх и в случае установления вертикальности корабля идет движения вниз до первого промаха. После промаха при движении вверх и в случае неопределенности ориентации корабля идет движение вправо. В случае промаха при движении вправо дальнейшее движение продолжается влево от начальной точки попадания. В случае промаха при движении прицела добивания влево начинается движение вниз. Таким образом будут обойдены все варианты расположения кораблей. На каждом шаге добивания делается проверка гипотезы о том, что корабль не уничтожен. Если в результате проверки устанавливается подбитие всех клеток корабля, добивание прекращается. Второй алгоритм добивания максимальное исключение добивание в сторону, где в случае попадания в следующую клетку будет исключено наибольшее количество полей вокруг. При подсчете предполагается, что убитая клетка будет крайняя для корабля. Третий алгоритм добивания минимальное исключение аналогичен второму алгоритму, за исключением правила, в соответствии с которым выбор делается в сторону клетки, при уничтожении которой будет исключено наименьшее число клеток вокруг нее. При симуляции алгоритмов добивания в результатах учитывались все выстрелы: как промахи, так и попадания в процессе добивания. Таблица 3а. Статистические результаты алгоритмов добивания Математическое ожидание, s Стандартное отклонение, σ Процент выборки в интервале (s σ; s + σ) Крестообразный 17,77 3,09 77,19 Максимальное исключение Минимальное исключение 16,79 2,64 74,12 18,40 3,28 71,31

15 14 Таблица 3б. Статистические результаты алгоритмов добивания 95-й 85-й 15-й 5-й процентиль процентиль процентиль процентиль Крестообразный Исключение макс Исключение мин Как видно из расчетов в таблице 3а, применение алгоритма максимального исключения при добивании уменьшает ожидаемое количество шагов атаки. Стандартное отклонение этого алгоритма также является наименьшим, что говорит в пользу его использования вместо крестообразного алгоритма или алгоритма добивания в сторону наименьшего исключения. Данные таблицы 3б подтверждают этот вывод: значения всех вычисленных процентилей у алгоритма максимального исключения наименьшие, то есть распределение количества убийств кораблей по количеству необходимых шагов смещено влево по сравнению с другими методами добивания Порядок начала обстрела диагоналей Диагонали (выделены цветом), в рамках которых идет обстрел. Числа порядок стрельбы по ячейке в рамках диагонали с одним цветом Рис. 5 Логика обстрела лучшего алгоритма атаки (диагонального алгоритма)

16 15 Рис. 6. Пример лучшего алгоритма расстановки (расстановка по краям) o? o? o? o? X? o? o X o o X o o? X? o o o o? o? o o o o o o Добивание будет произведено вверх, так как количество исключенных клеток при попадании будет больше, чем при стрельбе вниз Рис. 7. Иллюстрация лучшего алгоритма добивания (с максимальным исключением) Наихудший алгоритм добивания стрельба в сторону наименьшего исключения дополнительных клеток вокруг корабля, при предположении, что поражаемая клетка будет крайней. Из таблицы 3а видно математическое ожидание числа шагов на убийство кораблей для такого алгоритма, а из таблицы 3б следует общее смещение распределения результатов в сторону большего числа шагов. На рис. 5 7 наглядно изображены лучшие алгоритмы рассмотренных действий. ВЫВОДЫ Среди алгоритмов расстановки кораблей наилучшие статистические результаты у расстановок по краям поля. То есть наибольшее количество шагов для уничтожения всех кораблей с подобной расстановкой и наибольшее смеще-

17 16 ние распределения вправо относительно других алгоритмов расстановки. Наихудшие результаты у алгоритма расстановки кораблей в центре поля. Причем алгоритм расстановки кораблей в центре показывает безоговорочно худшие результаты при проверке против групп тестируемых алгоритмов атаки, однако является лишь одним из худших при тестировании против случайных алгоритмов. расстановки кораблей по краям поля подтвердил свою эффективность как в игре против моделируемых специальных алгоритмов атаки, так и против алгоритма случайной стрельбы (метод Монте-Карло). ом атаки, показывающим лучшие статистические характеристики, является диагональный алгоритм. Он имеет наименьшее математическое ожидание уничтожения поля противника, а также наилучшие показатели смещения распределения относительно алгоритмов случайных выстрелов, линейного обхода по змейке и обстрела по квадратам. Диагональный алгоритм подтверждает свое лидерство и при тестировании против случайных алгоритмов размещения кораблей. Худшим среди атакующих алгоритмов является стрельба по квадратам, причем данный алгоритм худший при тестировании как против выбранных алгоритмов защиты, так и против случайной расстановки кораблей. Среди рассмотренных алгоритмов добивания наилучшие показатели у алгоритма добивания в сторону возможного исключения из дальнейшей игры наибольшего числа клеток. Наихудшие результаты у алгоритма добивания в сторону наименьшего возможного количества исключенных клеток, если попадание произойдет и уничтоженная клетка будет крайней для корабля. Считаем приятным долгом поблагодарить наших коллег за плодотворные обсуждения А. В. Подлазова, обратившего наше внимание на методы статистического анализа больших серий расчетов и важность алгоритмов добивания, и А. А. Кочкарова, увидевшего связь рассмотренной задачи с проблемами управления многоагентными мобильными системами, и М. М. Горбунова- Посадова, указавшего на ряд важных аспектов «Морского боя». ЛИТЕРАТУРА 1.Оптимальный алгоритм игры в «Морской бой», статья в Habrahabr. URL: 2. Видео тестирования алгоритмов морского боя в YouTube. URL: 3. Теория и практика игры «Морской бой» по-честному, статья Geek- Times. URL: 4. Дж. Д. Вильямс. Совершенный стратег, или Букварь по теории стратегических игр; пер. с англ. М.: Советское радио, с.

Как победить в Battleship

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

Ель / Марина Ли

Размещение кораблей

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

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

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

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

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

Лео Кокс Фотография / Getty Images

Делаем снимки

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

Угадайте по диагональным линиям: Другими словами, если ваш первый выстрел был произведен в C-1, подумайте о том, чтобы сделать следующий выстрел в F-4, а следующий выстрел в I-7.Производя выстрелы по диагонали, вы гарантируете, что каждый из ваших выстрелов находится в новой строке и новом столбце, тем самым максимизируя количество рядов и столбцов, в которые вы стреляете.

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

Рассмотрим метод шахматной доски: Если представить сетку стрельбы в виде гигантской шахматной доски с чередующимися белыми и черными квадратами, то можно поразить все противоборствующие корабли, стреляя только по черным квадратам.Это хорошо сочетается со стратегией диагональной линии и означает, что вам никогда не нужно стрелять по половине квадратов в игре («белые»), кроме как для того, чтобы потопить корабль, в который вы уже попали. Когда вы попадете в цель, продолжайте стрелять по соседним кораблям, чтобы попытаться потопить лодку противника.

Линкор

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

Тип Размер
Авианосец 5
Броненосец 4
подводная лодка 3
Крейсер 3
разрушитель 2

Морской бой — классическая игра для двух человек, в которую изначально играли ручкой и бумагой.

На сетке (обычно 10 x 10), игроки прячут кораблей разной длины; горизонтально или вертикально (не по диагонали) без каких-либо перекрытий.Точные типы и количество кораблей варьируются в зависимости от правила, но для этой публикации я использую корабли длины: 5, 4, 3, 3, 2 (что приводит к 17 возможным целям из 100 квадратов).

Несколько примеров раскладок показаны ниже:

Не перекрываются, но соприкасаются

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

Простые правила игры

Ну начнем с описания упрощенного способа игры:

После того, как каждый игрок спрятал свой флот, игроки поочередно стреляют друг в друга, указывая координаты целевого местоположения.После каждого выстрела противник отвечает либо вызовом HIT! или ПРОПУСТИТЕ! указывая, попали ли координаты цели в часть лодки или в открытую воду. Пример текущей игры показан слева.

На этих диаграммах промахи обозначены серыми крестами, а попадания — красными квадратами с серыми крестами.

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

Игра в случайном порядке

Первая возможная стратегия создания компьютерного противника — делать выстрелы совершенно наугад.

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

Математически шансы сыграть в идеальную игру со случайным выстрелом легко подсчитать и составляют:

355 687 428 096 000 / 2 365 369 369 446 553 061 560 941 772 800 000

(Это в среднем один раз на каждые 6 650 134 872 937 201 800 игр!)

Я провел 100 миллионов симуляций случайных игр, и наименьшее количество ходов, с которым я столкнулся, составило 44 броска.

Ниже приведен график, показывающий распределение количества случайных выстрелов, необходимых для завершения каждой из 100 миллионов симуляций. Ось X показывает количество выстрелов, а а ось Y показывает количество игр, которые были завершены за это количество выстрелов.

(Неудивительно, что количество игр, в которых требовалось произвести все 100 выстрелов, составляет 17 миллионов. В конце концов, существует вероятность 17/100, что в последней посещенной клетке будет корабль).

Ниже приведен график кумулятивной вероятности завершения игры с n -случайными залпами.Для завершения примерно 50% игр требуется 96 бросков, а в 99% игр потребуется более 78 бросков.

Лучшая стратегия

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

Простая реализация этой усовершенствованной стратегии заключается в создании стопки потенциальных целей.Изначально компьютер находится в режиме Hunt , стреляя наугад. Как только корабль становится «крылатым» , компьютер переключается в режим Target . После удара четыре окружающие квадраты сетки добавляются в стопку «потенциальных» целей (или менее четырех, если ячейка находилась на краю/углу).

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

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

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

Прохождение

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

Изначально алгоритм запускается в режиме Охота , производя случайные выстрелы.На третьем ходу он во что-то врезается и переходит в режим Target . Четыре основных направления (мы будем использовать N , S , E и W ). для описания направления), все они добавляются в стек «потенциальных» местоположений, поскольку они соприкасаются с известным местоположением корабля. Прохождение N для поворота № 4 привело к еще одному успешному попаданию, поэтому точки N , E и W этого новое местоположение добавляется в «потенциальный» целевой стек ( S не добавляется — это местоположение уже было посещено!).

 

Ход № 5 ( S первого попадания) также является попаданием, поэтому окружающие еще не посещенные квадраты добавляются в конец стека. Поворот № 6 и ход № 7 пропущены.

 

Ход №9 и ход №10 показывают, как компьютер проверяет и удаляет квадраты по обе стороны от мишени, а ход №12 видит обнаружение пикселя сбоку.Здесь вы можете увидеть, почему этот тупой алгоритм необходимо выполнить этот тест; если бы он просто искал прямые линии, он бы прекратил искать вниз после промаха на повороте № 11, а затем продолжил бы вверх еще на одну клетку сверху, чтобы опуститься, что, как он думал, было бы авианосец длиной пять единиц.

 

Сейчас мы глубоко погрузились в потопление этой группы кораблей.

 

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

 

Исследование Edge продолжается, в результате чего на 21-м ходу обнаружена новая находка.

 

На 28-м ходу последняя «потенциальная» цель удаляется из стека, что означает промах. Теперь алгоритм вернется в режим Hunt и продолжит случайный поиск.

 

Пока не повезло…

 

Успех на 36 ходу! Возврат в режим Target .

 

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

 

Некоторые ребра уже были посещены на этом этапе, поэтому поиск выполняется быстрее.

 

Промах на 45-м ходу указывает на окончание режима Target , и мы возвращаемся к случайному режиму Hunt .

 

Мы снова попали на 49-м ходу.

 

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

Ведется подсчет числа попаданий в пикселей, и так на 53-м ходу, когда последний залп доводит счет до 17, алгоритм сразу завершается и ему не нужно ходить по краям еще на «потенциальном ‘ куча.

Результаты

Ниже приведен график результатов использования этого базового алгоритма на 100 миллионах случайно сгенерированных сеток.

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

Паритет

Мы можем немного улучшить Hunt часть алгоритма, используя четность.

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

Представьте доску в виде шахматной доски, как сетка слева. Независимо от того, как эсминец из двух единиц расположен на сетке, он всегда будет покрывать одну белую и одну синюю сетку.

Математический термин для описания Четность . Это просто причудливое слово для описания того, будет ли квадрат содержать нечетных или четных чисел, если пометить их последовательно от 1 до 100

Синие квадраты на сетке — это четная четность , а белые квадраты нечетная четность .

Мы можем указать нашему алгоритму Hunt стрелять только случайным образом в неизвестные места с четностью. Даже если мы будем стрелять только по синим локациям, мы по крайней мере поразим каждый корабль — это невозможно. поставить любой корабль так, чтобы он не касался хотя бы одного синего квадрата.

После поражения цели и активации режима Target ограничение «четности» снимается, позволяя исследовать все потенциальные цели.Если алгоритм возвращается в режим Hunt , фильтр четности снова включается.

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

Результаты

Ниже приведен график результатов использования модифицированного алгоритма контроля четности.

Зеленая линия показывает результаты алгоритма контроля четности.Алгоритм четности дает улучшение во всем диапазоне, но приращение невелико. Самая большая трата времени на выстрелы — это ненужное хождение по краям мишеней. Использование фильтра четности в режиме Hunt уменьшило количество выстрелов, но как только алгоритм переходит в режим Target , он так же неэффективен, как и был. Чтобы внести дальнейшие улучшения в стратегию, именно на этой области нам нужно сосредоточить свое внимание.

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

Полные правила игры

Чтобы получить более эффективный алгоритм решения игры, нам нужно лучше определять, когда корабль был потоплен. К счастью, в этом нам помогают официальные правила игры. До сих пор мы использовали только два состояния для предоставления обратной связи по каждому выстрелу: ПОПАДАНИЕ и ПРОМАХ .

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

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

На диаграмме слева объектов SUNK отображаются коричневым цветом с белыми крестами.

Функции плотности вероятности

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

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

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

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

«Как только вы исключите невозможное, все, что останется, каким бы невероятным оно ни было, должно быть правдой». Артур Конан Дойл — Шерлок Холмс

Примеры

В следующих простых примерах мы просто рассматриваем вероятности местонахождения авианосца (длиной 5 единиц).Начнем с верхнего левого угла и попробуем расположить его горизонтально. Если он подходит, мы увеличиваем значение для каждой ячейки, которую он откладывает как «возможное местоположение», в котором может быть корабль. Затем мы пытаемся сдвинуть его на один квадрат и повторять… и так далее, пока не дойдем до конца ряда. Затем мы двигаемся вниз по строке и повторяем. Далее повторяем упражнение с кораблем, ориентированным вертикально.

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

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

Во всех этих примерах для обозначения вероятности используется штриховка. Темные цвета обозначают высокую вероятность, а светлые — низкую вероятность.

В этом примере был произведен один выстрел, и мы ищем авианосец. Менее вероятно, что он будет Южным (потому что он не мог бы вписаться вертикально, и поэтому единственный способ, которым он мог бы перекрыть одну из ячеек на юге, — это лежать горизонтально). Точно так же вряд ли это будет Запад.Вероятность также немного падает к краям и углам, так как меньше способов расположить корабль, который покрывает эти места.

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

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

В этой конфигурации мы видим белый квадрат слева от верхнего промаха. невозможно для авианосца пройти через этот квадрат.

Пример распределения с семью промахами в сетке.

Вымышленная раскладка доски с большим количеством промахов. Во многих местах невозможно разместить перевозчика.Чем темнее штриховка, тем больше возможных способов использования этого квадрата носителем.

Еще один пример с большим количеством промахов.

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

Результаты

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

Средняя длина игры по этому алгоритму в 42 хода ср. 97 ходов с чисто случайной схемой стрельбы и 64 хода с алгоритмом охоты/цели с фильтрацией по четности.

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

Наконец, вот таблица их совокупных вероятностей.

Прохождение

Вот пример алгоритма обхода случайной доски. Он решает эту головоломку за 34 хода.

Изображение слева показывает распределение вероятностей, а красная сетка показывает выбранное следующее место для стрельбы. Изображение справа показывает текущее состояние сетки.

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

К сожалению, первый выстрел заканчивается промахом

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

На этот раз это попадание

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

Еще хит

Теперь, когда есть два попадания подряд, цели с наибольшей вероятностью находятся по обе стороны от этих двух.

Выстрел справа — промах

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

Это тоже промах

Еще один промах . (Обратите внимание, что на этот раз алгоритм тестировал верхнюю сторону, а ранее нижнюю, получая знания из-за пропуска четности между ней и промахом два слева.

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

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

Охотничий выстрел, основанный на вероятности присутствия кораблей в этом месте

Больше охотничьих выстрелов.

И снова.

Еще один попал в .

Поскольку длинные корабли все еще в игре, немного более вероятно, что корабли будут двигаться вверх/вниз из этого места (и немного более вероятно вниз, чем вверх, так как авианосец не поместится вверх).

Мисс

Еще один корабль потоплен (и таким образом удален из облака вероятности).

Снова на охоту.

Еще один попал в .

Опять же, поскольку большой корабль все еще находится в игре, немного более вероятно, что его корабли будут двигаться вверх/вниз.

Мисс .

Мисс .Но снова обратите внимание на пропущенную четность по вертикали, так как он пытается использовать вертикальное пространство два вверх, а не только одно вверх.

Нажмите .

Еще один корабль потоплен.

Возврат в режим охоты.

Проверка больших пробелов.

Нажмите .

Сначала проверьте в сторону, так как авианосец все еще там, и отсюда он может двигаться только влево-вправо.

Успех в уменьшении эсминца. Это удача для нас. Эсминец имеет длину 2, а с этим потопленным он уходит только от авианосца, который большой, и его труднее спрятать. С удалением эсминца там облако вероятности значительно изменится.Осталось не так много мест, где может стоять авианосец.

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

Нажмите ! Отсюда всего несколько ходов до победы.

Игра окончена!

Спасибо за внимание.

 

 

Здесь вы можете найти полный список всех статей.       Нажмите здесь, чтобы получать уведомления о новых статьях по электронной почте.

GamePigeon Battleship: Как играть, читы, советы, хитрости iPhone

GamePigeon Battleship — интересная игра о морских сражениях для iMessage. Это любимая игра фанатов, поскольку она предлагает непростые задачи. Игроки всегда прикованы к игре и пытаются выиграть все сражения.

Игра в «Морской бой» в iMessage ничем не отличается от того, как бы вы играли в нее на реальной доске. Это все о стратегиях боевых кораблей и ничего больше.

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

Тем не менее, убедитесь, что вы правильно поняли игру, прежде чем браться за вызов.

Читать: Как играть, читы и трюки на Crazy 8 для GamePigeon

Геймплей и правила

Самое удивительное в GamePigeon Battleship — это его подлинность.Игра следует всем правилам Battleship и не преподносит сюрпризов.

Изображение: Reddit/Sebdotmp4

Правила довольно просты:

  1. Поместите свой корабль на игровое поле. Все игроки должны разместить свои линкоры на доске, чтобы начать игру.
  2. Угадай положение кораблей противника. Следующим шагом игрока является угадывание позиции корабля другого игрока или противника.
  3. Уничтожить корабль. Побеждает игрок, который первым полностью уничтожит вражеский корабль.

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

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

Читать: Геймплей GamePigeon Tanks, читы и хитрости

Советы и рекомендации

Есть несколько выигрышных стратегий.Тем не менее, лучшие пьесы перечислены ниже.

1. Шахматная доска

Это включает в себя представление о доске линкора как о шахматной доске. Шахматная доска будет иметь соседние квадраты разных цветов.

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

2. Создать цели

Изображение: Twitter/ElsieKFisher

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

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

3. Установить вероятную цель

Вы должны попытаться выяснить места, из которых, скорее всего, будет сформирован корабль. Такие области, как углы доски или края, вряд ли будут удерживать корабли.

Но центр доски позволяет игроку расположить свой корабль так, как он хочет.

Большинство игроков избегают прямого выбора. Это означает, что все корабли на доске, скорее всего, будут иметь разную ориентацию.

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

Читы GamePigeon Battleship — это просто хорошо реализованные стратегии. Вы можете протестировать стратегии по отдельности и обязательно получите удовольствие от игры.

Читать: Кубок iMessage Pong: как играть, читы, советы, хитрости

Как играть в Морской бой на iMessage

Наслаждайтесь аркадными играми в iMessage с игрой Sea Battle для iMessage.

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

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

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

Установите Sea Battle с помощью магазина приложений iMessage

«Начиная с морского боя» недоступна как отдельная игра в App Store. Вам нужно будет скачать приложение «GamePigeon» с коллекцией игр и Морского боя.

Для этого сначала запустите приложение iMessage с главного экрана вашего устройства iOS.

Затем коснитесь любой из бесед, присутствующих на экране вашего устройства.

После этого коснитесь серого значка «App Store», расположенного рядом с окном сообщения на экране, чтобы открыть все параметры, связанные с «App Store».

Затем щелкните значок «App Store» синего цвета на панели «Панель приложений». Это откроет эксклюзивный магазин приложений iMessage в оверлейном окне на вашем экране.

В окне наложения App Store щелкните значок «Поиск» в правом верхнем углу.

Теперь введите game pigeon в поле поиска и нажмите кнопку «Поиск» в левом нижнем углу клавиатуры.

После этого нажмите кнопку «Получить» на плитке «GamePigeon» в оверлейном окне App Store и дождитесь завершения установки.

Примечание: Если GamePigeon уже приобретен для вашей учетной записи, вы увидите значок «Облако со стрелкой вниз» вместо кнопки «Получить».


Начните игру «Морской бой» со своими контактами

Теперь, когда на вашем устройстве iOS установлена ​​игра «Морской бой», давайте узнаем, как начать играть в нее с друзьями и членами семьи.

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

Затем прокрутите «Ящик приложений» в верхней части клавиатуры и коснитесь значка «GamePigeon». Затем нажмите, чтобы выбрать плитку «МОРСКОЕ БИТВАНИЕ» из сетки вариантов.

После этого выберите игровой режим, щелкнув нужный параметр в разделе «РЕЖИМ ИГРЫ».Размер отображает размер сетки игры; Вы также можете настроить носитель оружия, щелкнув плитку «НАСТРОЙКА» рядом с разделом «РЕЖИМ ИГРЫ».

Затем добавьте сообщение, если хотите, из предоставленного места, а затем нажмите значок «Отправить сообщение», чтобы пригласить контакт в игру.

Примечание: Человек, которого вы приглашаете в игру, также должен установить приложение «GamePigeon», чтобы играть в игру.

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

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

Нельзя размещать корабли слишком близко друг к другу, в этом случае блоки вокруг соседних кораблей станут красными, а в нижней части игрового окна появится сообщение «Корабли не должны касаться друг друга».

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

Поскольку сейчас ваша очередь, вам нужно будет угадать местоположение их корабля в сетке и нажать на блок для подтверждения. Затем нажмите кнопку «Огонь» в нижней части экрана, чтобы выстрелить в выбранное вами место.

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

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

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


Кастомизация персонажей и игровые настройки Sea Battle

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

Для этого коснитесь значка «Шестеренка» в правом верхнем углу окна приложения.

Когда вы откроете панель «Настройки», вы увидите множество параметров настройки для вашего персонажа. Вы можете настроить цвет фона для своего персонажа, который вы видите во время игры, оттенок кожи персонажа, а также волосы, эмоции на лице, одежду и заставить персонажа носить шляпы и очки (как указано на скриншоте ниже).

Хотя для большинства предустановок вам потребуется перейти на платную версию приложения, которая стоит около 6 долларов США за разовую покупку; бесплатные настройки тоже выглядят неплохо. Чтобы настроить своего персонажа, нажмите на категорию, которую вы хотите настроить, и настройте параметры.

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

Вы также можете выбрать желаемый оттенок для выбранного цвета, перетащив ползунок под вариантами цвета.

Затем, чтобы отключить фоновую музыку в игре, нажмите кнопку «Музыка» в настройках персонализации персонажа. Затем, если вы также хотите отключить звуковые эффекты в игре, нажмите кнопку «Звук», расположенную под кнопкой «Музыка» в окне игры.


Ну вот, ребята, это всё для игры Морской бой.

4 хитрости, которые вам нужно знать

Byril’s Sea Battle — это мобильная версия популярной настольной игры Морской бой, только с несколькими новыми поворотами. Вы можете бросить вызов игрокам со всего мира, использовать широкий спектр оружия и заполнить поле битвы кораблями разных размеров. Вы также можете запускать самолеты для атаки вражеских кораблей. В общем, здесь вам предстоит много разрабатывать стратегии, размещать свои корабли и самолеты в нужном месте и, надеюсь, побеждать своих противников в процессе.Игра может похвастаться графикой и эффектами в стиле ноутбука, что еще больше усиливает ощущение настольной игры, преобразованной в мобильную игру.

Если вы еще не играли в «Морской бой» или не играли в оригинальную настольную игру «Морской бой», мы рекомендуем вам прочитать эти читы, советы и приемы «Морской бой», которые могут помочь вам, пока вы разрабатываете стратегию или сражаетесь. против конкурирующих игроков или компьютерного ИИ. Как новичок, они могут дать вам хороший старт в игре.

1.Убедитесь, что ваши бомбы разбросаны во время игры на компьютере AI

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

2. Не размещайте свои корабли слишком близко друг к другу

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

3. Знай свои бонусы (часть 1)

Sea Battle поставляется с несколькими бонусами, включая бомбардировщик, торпедоносец, зенитную турель, мины, радар и ядерную бомбу.Мы начнем с объяснения первых трех прямо здесь. Активация вашего самолета-бомбардировщика сбросит несколько бомб в определенную область доски. Самолет-торпедоносец сбрасывает одну бомбу, которая идет по прямой, и это отлично подходит для уничтожения длинной цепочки кораблей. Зенитная турель говорит сама за себя — она защищает ваши корабли от вражеских самолетов.

4. Знай свои бонусы (часть 2)

Мины могут быть размещены как ловушки для вашего противника, чтобы закончить его ход, а радар обнаруживает вражеские линкоры в определенной области.Наконец, что не менее важно, ядерное оружие уничтожает огромную часть всего игрового поля, включая любой корабль в этой области, настоящее оружие массового уничтожения в действии. Однако ядерные бомбы недешевы — они обойдутся вам в 110 внутриигровых денег, что более чем в десять раз превышает стоимость второго по дороговизне усиления.

Родственные

Sea Battle Online Руководство и советы для начинающих

Modern Warships: Sea Battle Online — это игра из серии Action , выпущенная Cube Software для бесплатной загрузки на Android и iOS.Игра состоит из морской войны, в которой игроки сражаются друг против друга или в автономном режиме с оружием в виде военных кораблей. Разработанная всего двумя людьми, игра уже стала очень популярной. Обратитесь к этому Руководству для начинающих Modern Warships: Sea Battle Online за советами, приемами и стратегиями, чтобы стать опытным игроком в игре.

Начало работы

Несмотря на то, что существует офлайн-версия, игроков в эту игру привлекает онлайн-режим PvP, где они могут вести войну на воде против реальных людей в сети.Цель состоит в том, чтобы покупать корабли и улучшать их, чтобы стать как можно более доминирующим в морских сражениях онлайн.

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

Игровые режимы

Современные боевые корабли:: Морские бои онлайн-режимов
Быстрая игра

Игроки участвуют в PvP-сражениях онлайн и сражаются с лучшими. Игроки случайным образом объединяются в команды по 5 человек и сражаются с таким же количеством противников на своем уровне. Команда побеждает, когда все корабли соперника уничтожены. Этот режим разблокируется после достижения уровня 5.

Автономная игра

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

Пользовательская игра

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

Онлайн-руководство по морскому бою Modern Warships: советы и рекомендации

1.Всегда выбирайте USS Hurricane

Современные боевые корабли: Морской бой онлайн

В начале игры игрокам предлагается купить один из четырех кораблей первого уровня. Новичкам рекомендуется выбрать USS Hurricane . Он быстрый и оснащен 2 ракетными установками и 2 автоматическими пушками. Кроме того, это самый дешевый вариант уровня 1. Игрокам предлагается не покупать два корабля первого уровня. Игроки также получат корабль уровня 2 в качестве награды за ежедневный вход на третий день.Игрокам рекомендуется не тратить деньги на новый корабль до получения бесплатного корабля 2-го уровня.

2. Модернизация корабля

Modern Warships позволяют игрокам улучшать свои корабли и оружие. Направившись в мастерскую, игроки смогут увидеть характеристики корабля и оружия, которое они могут улучшить. Рекомендуется улучшать как можно меньше, чтобы оставить очки улучшения для корабля 2 или 3 уровня.

Корабельная мастерская

Корабли улучшаются по системе лотереи с использованием очков улучшения.Первые 3 слота улучшения характеристик корабля эффективны на 100% и наверняка улучшат характеристики. Однако шанс обновления снижается до 60% после первых 3 слотов. При обновлении кораблей игрокам не рекомендуется сначала улучшать все слоты одной характеристики. Они должны улучшать один слот для каждой характеристики до трех раз, когда шансы на обновление все еще равны 100%. То же самое касается улучшения конкретного вооружения корабля. Игроки также могут покупать очки улучшения за внутриигровые доллары, но рекомендуется копить деньги на лучший корабль.

3. Знать все

способов получить игровых денег

Игрокам предлагается 30 бесплатных золотых каждые 1 час 24 минуты за просмотр рекламы . Просмотр рекламы также может принести игрокам 20 000 долларов и 2 очка обновления. Это можно сделать, нажав на количество долларов, которое есть у игроков, в правом верхнем углу экрана. Они полезны, поскольку помогают ускорить процесс покупки более дорогого корабля. Есть также ежедневные награды, которые помогают.

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

Панель приборов

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

4.

Будьте осторожны с ярусами кораблей

В этой игре есть 3 уровня, которые используются для ранжирования кораблей. Уровень 1 состоит из самых слабых кораблей в игре. Использование корабля уровня 1 означает, что игроки будут сражаться с противниками, у которых также есть корабли уровня 1. То же самое касается уровней 2 и 3. Однако корабельное вооружение также ранжируется по уровням. Если у игроков есть корабль 1-го уровня , но они оснащены оружием 2-го уровня , они будут сопоставлены с противниками с кораблями 2-го уровня.Игрокам рекомендуется избегать апгрейда вооружения кораблей более низкого уровня до более высоких, так как сражения будут невероятно сложными.

Корабельный магазин

5.

Используйте определенные тактики во время боя

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

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

Геймплей Modern Warships: Sea Battle Online

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

Давай, попробуй, и если у тебя возникнут проблемы, не раздумывая вернись к этому руководству и советам для начинающих Modern Warships: Sea Battle Online!

Это все, что касается сегодняшнего руководства для начинающих по Modern Warships: Sea Battle Online. Считаете ли вы наше руководство для начинающих Modern Warships: Sea Battle Online e полезным? Дайте нам знать в комментариях  ниже!

Чтобы узнать больше новостей и обновлений о мобильных играх, присоединяйтесь к нашей группе WhatsApp , Telegram Group или Discord server . Кроме того, следите за нами в Google News , Instagram, и Twitter , чтобы получать быстрые обновления.

Морское сражение с завязанными глазами: доступная игра для iOS, расширяющая концепцию сетки

После того, как я создал игру «Крестики-нолики с завязанными глазами» 3D, несколько учителей слабовидящих учащихся захотели добавить больше игр для улучшения навыков навигации по сетке.

Один человек предложил игру Морской бой, в которую играют на сетке 10 на 10. Наша версия называется Морской бой с завязанными глазами.

Вы и ваш противник можете разместить на доске 5 кораблей, длина кораблей варьируется от 2 до 5. Например, самый большой корабль, авианосец, имеет длину 5 позиций и может быть размещен горизонтально или вертикально, например, в позиции от A1 до A5 или от A1 до E1, где строки — это буквы от A до J, а столбцы — числа. От 1 до 10. Как только вы и компьютерный игрок расставили корабли, вы поочередно пытаетесь угадать, где находятся корабли друг друга.

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

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

Около 20 лет назад Ник Берри, консультант по технологиям и президент DataGenetics, компании по сбору данных, базирующейся в Сиэтле, тщательно изложил несколько стратегий, которые повышают ваши шансы потопить корабли противника до того, как он потопит ваш.

Его методы проверены в бою: Берри создал компьютерные алгоритмы для применения своих стратегий в сотнях миллионов симуляций, чтобы он мог рассчитать соответствующие показатели успеха.Он обнаружил, что оптимальный способ игры — угадывать только чередующиеся точки. Например, если вы проверяете точки A1 и A3, и обе промахиваются, то горизонтально расположенный корабль не может находиться в точке A2. Точно так же, если вы проверите точки A2 и C2, и обе промахнуты, то вертикально расположенный корабль не может находиться в точке B2.

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

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

.

admin

Добавить комментарий

Ваш адрес email не будет опубликован.