Детская игра «Морской бой» — правила. Развлечения и игры для детей без компьютера!
Невероятно популярная игра на бумаге. И хотя сейчас есть специальные игровые комплекты для «Морского боя», а также масса компьютерных реализаций, классический вариант на листочке остаётся самым востребованным.
Цель игры — потопить корабли противника раньше, чем он успеет потопить ваши.
Правила игры «
Морской бой»Играют двое игроков. Каждому из них нужен листок (желательно в клетку), карандаш или ручка. Игра начинается с подготовки поля. На листке рисуются два квадрата 10×10 клеток. На одном из них будут расставляться свои корабли, в другом будет «вестись огонь» по кораблям противника. Стороны квадратов подписываются буквами по горизонтали и цифрами по вертикали. Заранее надо договориться, какие буквы будут написаны (основные споры возникают, использовать или нет букву «Ё»). Кстати, в некоторых школах вместо скучного алфавита пишут слово «РЕСПУБЛИКА» — оно как раз содержит 10 неповторяющихся букв. Это особенно полезно для тех, кто так и не осилил алфавит.
Расстановка кораблей
Далее, начинается расстановка флотов. Классические правила морского боя говорят, что должно быть 4 корабля по одной клеточке («однопалубных» или «однотрубных»), 3 корабля по 2 клеточки, 2 — по 3 клеточки и один — четырёхпалубный. Все корабли должны быть прямыми, не допускается изогнутых и «диагональных». Корабли располагаются на игровом поле таким образом, чтобы между ними всегда был зазор в одну клеточку, то есть они не должны касаться друг друга ни бортами, ни углами. При этом корабли могут касаться краёв поля и занимать углы.
Игра
Когда корабли расставлены, игроки по очереди производят «выстрелы», называя квадраты по их «координатам»: «А1», «В6» и т.д.. Если клетка занята кораблём или его частью, противник должен ответить «ранен» или «убит» («потоплен»). Эта клетка зачёркивается крестиком и можно сделаеть ещё один выстрел. Если в названной клетке корабля нет, в клетке ставится точка и ход переходит к сопернику.
Игра ведётся до полной победы одного из игроков, то есть, пока не будут потоплены все корабли. По окончании игры проигравший может попросить у победителя посмотреть на его расстановку кораблей.
Мастерство
Если вы считаете, что морской бой — игра, построенная исключительно на удаче и везении, то вы ошибаетесь. На самом деле в ней есть и стратегия и тактика, о которой мы поговорим в заключении. Итак — о хитростях а также различных честных и не очень честных приёмах игры в морской бой:
- Прежде всего (и это — самое главное!), необходимо держать свой листок с кораблями так, чтобы противник не смог подсмотреть ваше расположение;
- Обязательно ведите учёт своих и чужих ходов, отмечая их точками. Так будут исключены выстрелы по одним и тем же клеткам;
- Потопив вражеский корабль, также окружите его точками, чтобы не стрелять по местам, где кораблей заведомо нет;
- Не стоит ставить корабли в углы поля: обычно по ним стреляют в первую очередь новички. Однако, про исключения пойдёт речь ниже;
- Необходимо выработать стратегию для расстановки. Хороший результат даёт неравномерное распределение кораблей: собрать все «большие» корабли в одну или две плотных группировки, а оставшиеся «однопалубники» запрятать отдельно в потайных местах игрового поля. В этом случае противник быстро вычислит и разгромит группировку больших кораблей, а потом будет долго разыскивать оставшиеся маленькие;
- Убив большой корабль, противник окружает его точками. Значит, найдя «четырёхпалубник», противник сразу же открывает (4+1+1)*3 = 18 клеточек (то есть 18% или почти 1/5 часть поля). «Трёхпалубник» даёт 15 клеточек (15%), «двухпалубник» — 12%, и «однопалубник» — 9%. Если же поставить «четрырёхпалубник» к стенке, то он позволит открыть только 12 клеточек (10 для трёхпалубника, 8, для двухпалубника). Если же поставить «четырёхпалубник» вообще в угол, он позволит открыть только 10 клеток (8, 6 и 4 соответственно). Конечно, если противник поймёт, что все корабли находятся с краю, он их быстро потопит. Поэтому, лучше использовать этот совет в сочетании с предыдущим.
- Тактика стрельбы тоже может быть различной. Однако, истребление кораблей противника лучше всего начинать с поиска «четырёхпалубника». Для этого можно стрелять по диагоналям, или нарисовать ромб, или стрелять через 3 клеточки на четвёртую. Как только четырёхпалубный корабль найден, ищем трёхпалубные, потом двух… Конечно, в процессе поиска будет попадаться «всякая мелочь» и вносить коррективы в планы.
- А вот и нечестный способ: расставить все корабли, кроме последнего однопалубника (он будет выполнять роль подводной лодки «Неуловимая»). А он будет поставлен (и убит) только в последней оставшейся клеточке. Бороться с этим достаточно легко: пусть игроки расставляют корабли одним цветом, а ведут стрельбу — другим. Можно, например, игрокам иметь ручки или карандаши разных цветов и после расстановки кораблей просто меняться ручками.
Как выигрывать в «Морской бой»
Недавно в кино, на новом фильме «Морской бой» (реж Питер Берг), я был очень вдохновлен тем, как развивается бой на воде. Вовсю гремят взрывы, стальной робот переводит свои прицелы с одного корабля на другой. И вот в итоге выбирает свою цель. Огонь неведомой силы обрушивается на корабль США, противоударные пушки не спасают и какие-то странные “банки” попадают на палубу корабля. Первую секунду кажется, что ничего не происходит, как вдруг… ВЗРЫВ!!! Корабль разносит на части, команды других кораблей не то, что теряют всякую дееспособность от ужаса, они даже теряют дар речи.И лишь крики одного из солдат: “Б-б-б-боже!” могут передать остроту момента…
И тогда я вспомнил игру «Морской бой», которая спасала меня от скуки в школе. Простые правила, два листа бумаги в клеточку, пара ручек… и вот ты уже капитан своих собственных войск, ведешь сражение не на жизнь, а на смерть. И каждый твой неудачный шаг может послужить причиной гибели твоих кораблей! Более того, при всей простоте игры, результат того, как пойдет сражение, предсказать совершенно невозможно. Напомню правила для тех кто забыл:
Правила
Кликните чтобы посмотреть ответ:
Эта, по истине гениальная игра, была впервые выпущена как настольный комплект в 1931 году фирмой Милтон Брэдли (Milton Bradley). Точнее, «настольная игра» выпущена компанией, как коммерческий продукт. Бумажный же вариант игры появился гораздо раньше, так что истинного автора уже и не узнать.
У вас в распоряжении десять кораблей, а именно:
- 1 корабль — ряд из 4 клеток («линкор», или «четырёхпалубный»)
- 2 корабля — ряд из 3 клеток («крейсеры», или «трёхпалубные»)
- 3 корабля — ряд из 2 клеток («эсминцы», или «двухпалубные»)
- 4 корабля — 1 клетка («подлодки», или «однопалубные»)
Стреляем вслепую по зоне противника, стараясь угадать, в каких квадратах расположилась его флотилия — не забывая отмечать уже проверенные поля. Чтобы противники могли общаться, клетки пронумерованы по горизонтали и по вертикали как шахматная доска — буквами и цифрами.
Прием первый: пробейте диагонали
Прежде всего, прибегнем к простой математике и прикинем — сколько всего клеток занимает наше войско. Легко посчитать: у нас один корабль занимает 4 клетки, два корабля занимают 3 клетки, три корабля — две клетки и четыре корабля — одну… Всего 17 клеток (обязательно проверь мои вычисления!!).
А сколько всего клеток у нас есть? Посчитать их тоже не составит трудности. Десять полей по вертикали и десять по горизонтали. Всего 100 клеточек. Значит, исходя из теории вероятностей, у нас 17% на успешный выстрел, так как только 17 полей из ста окажутся палубами вражеских кораблей.
Теперь давай нарисуем на квадрате нашей территории две диагонали и посмотрим, какие клетки окажутся на этих диагоналях:
Практика показывает, что чаще всего корабли соперника расположены так, что на диагонали будет лежать несколько палуб. Конечно, это не значит, что со 100% вероятностью на диагонали враг расположит хотя бы одну палубу. Но из большого опыта известно, что вероятность попадания выше именно на диагонали.
Добивайте рационально и отмечайте поля вокруг
Предположим, что мы попали в корабль противника и услышали «Ранил!». Это значит, что мы лишь попали в одну часть корабля. Если с первого удара корабль потопить не удалось, следует сделать вывод, что это двух-, трех- или четырехпалубный корабль. Но, в любом случае, так как корабль не может располагаться по диагонали, у нас есть всего четыре варианта, куда стрелять, чтобы попасть в еще одну из палуб противника.
На первый взгляд это кажется очевидным, но какой вывод можно из этого сделать дальше? Если нам посчастливится затопить четырехпалубный корабль, это даст нам огромное преимущество. Так как рядом с кораблем на расстоянии одной клеточки не может находиться других кораблей, то, подбив четырехпалубник в центре, мы тем самым можем зачеркнуть окружающие его 14 клеточек:
Ход конем
Как нам атаковать, чтобы скорее найти четырехпалубный линкор? Что если попробовать стрелять по клеточкам так, как ходит конь по шахматному полю? Но только чуть иначе: после выстрела в одну клеточку делать еще два шага вперед и один — вбок, по диагонали. То есть после того, как мы обстреляем четыре клеточки в одном направлении, следующий удар нанести направо или налево, чтобы точки образовывать букву “Г”.
Это делается для того, чтобы как можно быстрее лишить линкор возможности «спрятаться». Ведь корабль обязательно должен располагаться на четырех клеточках подряд. «Ходом коня» мы освобождаем себя от проверки полей, которые на рисунке выделены красным прямоугольником, т.к. на них не может быть уже четырехпалубник, расположенный вертикально. Если мы сделаем еще одного «коня», то слева от самого нижнего квадрата, выделенного красным, проверим почти треть поля
Тем самым нам скорее удастся задеть четырехпалубник, что даст нам несравненное преимущество!
Обычно нам хочется располагать корабли как можно дальше друг от друга, распределяя их равномерно по полю: кажется, так они лучше спрятаны. Но, к сожалению, это неверная тактика. Куда надежнее скомпоновать корабли как можно плотнее, стараясь занять примерно треть поля. Тогда противник, если он не попадет с первого же выстрела в ваш корабль, что крайне маловероятно, очень долго будет топтаться по двум другим частям поля, давая нам отличную фору к победе.
Но истинному капитану не следует полагаться лишь на слепую удачу. Можно придержать два однопалубника, когда будешь расставлять свои корабли плотно на трети карты и поставить их после этого в других двух частях. Посчитай, ведь на две другие части карты приходится примерно 60 клеточек. А занимать наши корабли будут всего 2 клеточки. То есть у противника будет 58 возможностей промахнуться, чем он непременно и займется!
Ставить на край
Корабли разумнее ставить вплотную к краю карты. Особенно большие. Это выгодно, так как после уничтожения линкора, как мы уже выяснили выше, 14 клеточек вокруг него не будут уже обстреливаться противником. Если же корабль будет стоять. скажем, в углу, то таких клеточек ореола окажется всего 6. А это существенно меньше!
Вот пример хорошо расставленного войска. Большой корабль прижат к краю, войско теснится на, примерно, трети карты. И три практически неуязвимых подлодки находятся в стороне. И по ним будет крайне сложно попасть!
Используя эти простые тактики, мы легко сможем быстро угадывать, где же затаился противник, оберегать собственную флотилию и, как результат, побеждать в каждом сражении.
Может быть и ты знаешь несколько приемов? Поделись с мной своими хитростями, ведь только собирая из вместе, нам удастся накопить достаточно опыта, чтобы никогда не проигрывать и слышать от наших противников, что: «С ним/с ней лучше не играть в морской бой, он просто непобедим!»
Морской бой (Battleship): потопить корабли соперника!
Морской бой (Battleship): пушки к бою!
Уверены, все от мала до велика знакомы с тактической игрой-сражением Морской бой. При одном упоминании названия в голове тут же всплывают мысли о тетради в клетку и квадратном поле 10х10 клеток.
Настольная игра Морской бой (Battleship) предложит по-новому взглянуть на такую привычную игру, превратив ваше морское сражение в по-настоящему зрелищное и опасное приключение.
Вперёд в Морской бой (Battleship)!
В игре Морской бой (Battleship) вас ожидает самый настоящий сверхсекретный чемоданчик, полный военно-морской амуниции. Так в распоряжении у каждого игрока будет кейс, в одной половине которого он сможет расположить на квадратном морском участке свои корабли: 2 авианосца, 2 линкора, 2 подводные лодки, 2 сторожевых катера и 2 пленных корабля, а в другой половине – карту расположения соперника. Также у игроков будет по 25 красных фишек, которыми они смогут отмечать на картах свои и чужие ранения и 25 белых фишек, которые будут обозначать промахи.
Как и в старом добром тетрадочном Морском бое, в начале партии участники расставляют свои корабли и, если на бумаге поменять их расположение физически невозможно, то здесь – просто нельзя, правила запрещают жульничать. Не то пойдёте на корм акулам! Корабли должны находиться на расстоянии как минимум одной клетки, палубы двух разных кораблей не могут соприкасаться.
Ходят участники по очереди, называя координаты своего выстрела, пытаясь угадать, где же находятся корабли соперника, чтоб безжалостно потопить их. Игрок, первым отправивший под воду весь флот врага оказывается победителем, лучшим военным капитаном и просто красавчиком.
Игра Морской бой (Battleship): старая игра в новом оформлении
Маленькие аккуратные компоненты игры в разы позволяют сократить время на подготовку к партии, теперь расставить корабли и возвести к готовности пушки – секундное дело. Да и качество, и внешний вид компонентов мгновенно переносит игроков в пределы настоящих военно-морских баталий.
Купить игру Морской бой (Battleship) можно и для домашних посиделок, и для отдыха на природе – кейсы обеспечат сохранность всех корабликов и фишек. А вот если вы решите взглянуть на классическую игру под новым углом, отказаться от квадратного поля и отправиться в настоящий океан с архипелагом островов – обратите внимание на игру Морской бой. С такими играми вам обеспечены самые увлекательные военные сражения за территориальные воды!
Корабли Черноморского флота провели на учениях морской бой с противником :: Общество :: РБК
Фото: Минобороны РФ
Ракетные корабли Черноморского флота (ЧФ) России вышли в море в рамках учений и провели морской бой с судами условного противника, сообщается на сайте Минобороны.
Украина заявила об обязанности России платить аренду за Черноморский флотВ учениях задействовали малый ракетный корабль «Ингушетия» и ракетные катера «Набережные Челны» и «Ивановец». Экипажи выполнили зенитные и артиллерийские стрельбы по воздушным и надводным целям, отработав ведение морского боя.
Затем корабельная ударная группа отработала стрельбу по групповой надводной цели с электронными пусками ракет.
Кроме того, экипажам предстоят «тренировки по борьбе за живучесть и всесторонней обороне отряда кораблей» во время перехода морем.
App Store: Морской бой 2
Морской бой 2 — всеми любимая с детства настольная игра с новыми возможностями и расширенным арсеналом! Миллионы людей по всему миру играют в эту игру. В вашем распоряжении корабли, самолеты, подводные лодки, мины, радары и не только. Расставляйте на поле боя свои корабли, наносите удары по полю противника. Используйте разные виды оружия, чтобы потопить вражеский военно-морской флот и выиграть битву.
Сражайтесь с игроками со всего мира по сети в режиме реального времени! Постройте свою стратегию игры, улучшайте тактику и не оставляйте соперникам шансов! Повышайте звание, станьте адмиралом своего флота!
Стройте свой портовый город и собирайте награды! Побеждайте на эпических аренах и открывайте новые здания. Стройте военные базы, верфи, заводы, небоскребы, достопримечательности и многое другое!
Особенности игры:
• ОНЛАЙН БОИ
Сражайтесь с игроками со всего мира через интернет!
• ОНЛАЙН ИГРА С ДРУЗЬЯМИ
Отправляйте приглашения и играйте онлайн со своими друзьями
• ЗВАНИЯ
Побеждайте в боях, чтобы повысить свой ранг и звание от матроса до адмирала!
• АРЕНЫ
Участвуйте в боях на эпических аренах, открывайте новые и получайте награды!
• ПОРТОВЫЙ ГОРОД
Станьте героем в собственном городе, который вы проектируете и строите!
• ИГРА ПО БЛЮТУЗУ
Устраивайте с друзьями, коллегами или просто знакомыми сражения по блютузу.
• ИГРА С ДРУГОМ
Играйте с друзьями на одном телефоне (планшете), расставляйте по очереди корабли, выбирайте арсенал и в бой!
• ТРЕНИРОВКА С БОТОМ
Выбирайте подходящий уровень сложности и пробуйте победить ИИ (искусственный интеллект).
• КАСТОМИЗАЦИЯ
Кастомизируйте свой военный флот и технику арсенала, открывайте разнообразные скины от времен Первой мировой войны до современности. Выберите себе грозное имя, крутую аватарку и флаг своего флота.
• ЧАТ
Общайтесь с игроками во время боя с помощью чата и эмодзи.
• РАЗЛИЧНЫЕ РЕЖИМЫ ИГРЫ
Выбирайте расширенный или классический режим без дополнительного вооружения.
• ТУРНИРЫ И КУБКИ
Участвуйте в турнирах и зарабатывайте кубки. Заполните комнату трофеев!
• ГЛОБАЛЬНЫЕ ТАБЛИЦЫ ЛИДЕРОВ
Повышайте свой рейтинг и станьте лучшим игроком в мировых списках лидеров по количеству побед!
Морской бой 2 — игра с красивой графикой в тетрадном стиле и эффектами, что придаёт игре оригинальность и незабываемую атмосферу.
Морской бой 2 — бесплатная игра, но некоторые игровые элементы можно также купить за реальные деньги.
*****
Настало время узнать, кто самый сильный в морском бою!
Нравится Морской бой 2? Узнайте больше!
Instagram: https://www.instagram.com/byril_games/
Морской бой: задачка для олимпиадников
Когда мы берем ребёнку репетитора, то каждый по-своему представляет себе, как будут проходить эти прекрасные занятия, ведущие к светлому будущему олимпиад и ЕГЭ. И далеко не каждый допускает мысль, что ребёнок и репетитор будут просто играть. О том, почему это полезно и работает только на пользу, рассказывает наш блогер, репетитор Яна Полянских.
Привет, учитель! Рассылка
Для тех, кто работает в школе и очень любит свою профессию
Я играю с детьми на занятиях. В комментариях к одной из моих старых статей на «Меле» был чудесный вопрос: мол, занятие оплачено, за чей счёт вы играете с детьми в морской бой? За счёт сокращения основной, содержательной части?
Сейчас будет страшное. Игра в морской бой — это и есть основная, содержательная часть занятия. И не у младших школьников, а у олимпиадников… Жесть, правда? Мне бы стоило не смущать людей, которые платят за занятия, лучше просто выкинуть из образовательного процесса целый раздел математики, который называется «теория игр». А лучше вообще его из математики выкинуть. Или переименовать. Во что-то посерьёзнее, ну? Игр. Игр. И что это слово делает в такой адской науке?
Ладно, проехали, рассказываю, зачем и как играть с детьми в морской бой. Игра старая и известная, но если забыли классические правила, напомню. Два игрока рисуют каждый по два поля 10*10 с буквенно-числовыми координатами. На одном из них расставляют свои корабли, второе поле будет необходимо для стрельбы по противнику. Корабли делятся на классы: одноклеточные (катер) — их будет 4, двухклеточные (эсминец) — их будет 3, трёхклеточные (крейсер) — их будет 2, и четырёхклеточные (линкор) — он будет… конечно, 1. Корабли не могут касаться друг друга даже в точке, в классической версии не могут и изгибаться (т. е. четырёхклеточный корабль всегда представляет собой этакую палочку, расположенную вертикально или горизонтально).
Игра заключается в том, что игроки по очереди называют координаты клеток (а8, з4, и3…), где, по их мнению, может располагаться корабль противника. Эти ходы отмечают на втором, свободном поле. При удачном выстреле в клеточке с нужной координатой рисуется крестик (убит или ранен), при промахе ставится точка. Игра продолжается до тех пор, пока все корабли противника не будут уничтожены.
На первый взгляд, игра носит глупый вероятностный характер: стреляй себе по полю, авось попадёшь. Кому-то даже везёт. Но, приобретая некоторый опыт игры, ты понимаешь, что у неё (как и у большинства) есть стратегия.
Очень простая мысль: вероятность попасть по кораблю противника тем выше, чем меньше непроверенных клеток осталось на его поле (логично, правда?). Аналогично вероятность попадания по вашим кораблям тем ниже, чем больше непроверенных клеток осталось на вашем поле. А значит, для эффективной игры нужно научиться сразу двум вещам: оптимальной стрельбе по противнику и оптимальному размещению своих кораблей.
Как вы понимаете, сложнее всего искать однопалубные корабли. Существуют определенные стратегии расстановки кораблей, которые ещё больше уменьшают вероятность попадания в последний одноклеточный корабль. Например, можно расположить весь флот кучкой в одном месте так, чтобы он занимал как можно меньше места, а на оставшемся свободном поле расположить пару своих маленьких кораблей. Эта игра отлично тренирует внимательность, учит рациональному мышлению и умению принимать свои ошибки, перерабатывая их в опыт.
В поиске кораблей тоже есть много смысла, если к ней подходить с точки зрения математики.
В правилах четко оговорено, что корабли не соприкасаются друг с другом, а значит, если вы нашли корабль с координатами в4-г4-д4-е4, то по каким клеткам стрелять бесполезно? Верно, по всем, которые непосредственно окружают этот корабль, сразу ставим на них точки: б3-б4-б5, в3-г3-д3-е3-ж3, ж4-ж5, в5-г5-д5-е5. Какой теперь стала вероятность попасть в корабль? Насколько уменьшилось количество свободного пространства? Уничтожив вражеский линкор в лучшем случае (если он одиноко стоял посреди поля), мы получили информацию аж о 14 клетках поля, а пошедший ко дну трёхпалубный корабль даст нам информацию о 12 клетках.
Ого. 14 клеток. И ещё два раза по 12. Нехило, правда? Получается, удобнее всего вначале искать крупные корабли. Как это сделать? Давайте рассмотрим поле 4*4. За сколько выстрелов вы гарантированно найдёте четырёхпалубный корабль? Правильно, не более чем за 4 хода. Для этого надо стрелять так, чтобы на каждой горизонтали и вертикали было ровно по одной проверенной клетке.
Снова посмотрим на поле 10*10. Попробуйте понять, сколько ходов вам гарантированно потребуется для того, чтобы, используя эту стратегию, найти этот самый неповоротливый корабль. Сколько получилось ходов? Проверим в комментариях? Мои олимпиадники не с первого раза нашли минимальное количество ходов, а что у вас получилось?
Аналогично поступим с трехпалубным. Для этого рассмотрим поле 3*3, поймём, как надо стрелять, и снова перенесёмся на наше большое поле с этим знанием. Причём по многим из клеток вы уже стреляли, пока искали линкор. Двухпалубные искать будем так же. А вот для самых маленьких кораблей стратегии нет. Надо лишь надеяться на теорию вероятностей и на то, что вы внимательно расставляли точки «мимо», когда заполняли поле противника.
Мало математики и слишком понятно. Конечно, на занятиях математикой ученик должен плакать от безысходности, это всем известно. Тогда можно поискать одноклеточный корабль с помощью страшных слов. Итак, если на поле из 100 (или n) клеток расположен 1 однопалубный корабль, то вероятность попасть в него равна… здесь не нужны страшные формулы, чтобы понять, что 1/100 (1/n). Тогда определим вероятность уничтожения этого корабля за k выстрелов. Это событие может произойти как сразу (уничтожен первым выстрелом), так и последним, то есть благоприятная выборка состоит из всех клеток, включая клетку с кораблем.
Количество благоприятных стратегий вычисляется как число неупорядоченных выборок из множества 99 клеток (n-1) по k-1 (клетка, занятая кораблем, не учитывается), умноженное на число перестановок в самой выборке k! и число перестановок клеток, оставшихся за выборкой (n-k)! Pk = [k! C из (n-1) по (k-1) (n-k)!]/n! = [C из (n-1) по (k-1)]/C из n по k…
Упрощая выражение, получаем, что вероятность попадания в корабль за k выстрелов равно k/n. Логично? Логично.
Полегчало, правда? Ну, если так, то пусть дитятко играет на занятиях в морской бой.
Вы находитесь в разделе «Блоги». Мнение автора может не совпадать с позицией редакции.
Фото: Shutterstock (shinobi)
Python. Напишем морской бой с достойным соперником-ИИ — Офтоп на DTF
Всем привет! В предыдущей статье мы написали игру в спички с ИИ. Как оказалось некоторые из вас даже открывали эту сатью, а некоторые из тех кто открывал даже поставили лайк. Спасибо! Сегодня будем писать морской бой в таком же «терминальном» стиле. На этот раз игра будет больше, а алгоритм стоящий за ходом противника — сложнее.
{«id»:187827,»url»:»https:\/\/dtf. ru\/flood\/187827-python-napishem-morskoy-boy-s-dostoynym-sopernikom-ii»,»title»:»Python. \u041d\u0430\u043f\u0438\u0448\u0435\u043c \u043c\u043e\u0440\u0441\u043a\u043e\u0439 \u0431\u043e\u0439 \u0441 \u0434\u043e\u0441\u0442\u043e\u0439\u043d\u044b\u043c \u0441\u043e\u043f\u0435\u0440\u043d\u0438\u043a\u043e\u043c-\u0418\u0418″,»services»:{«vkontakte»:{«url»:»https:\/\/vk.com\/share.php?url=https:\/\/dtf.ru\/flood\/187827-python-napishem-morskoy-boy-s-dostoynym-sopernikom-ii&title=Python. \u041d\u0430\u043f\u0438\u0448\u0435\u043c \u043c\u043e\u0440\u0441\u043a\u043e\u0439 \u0431\u043e\u0439 \u0441 \u0434\u043e\u0441\u0442\u043e\u0439\u043d\u044b\u043c \u0441\u043e\u043f\u0435\u0440\u043d\u0438\u043a\u043e\u043c-\u0418\u0418″,»short_name»:»VK»,»title»:»\u0412\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u0435″,»width»:600,»height»:450},»facebook»:{«url»:»https:\/\/www.facebook.com\/sharer\/sharer.php?u=https:\/\/dtf.ru\/flood\/187827-python-napishem-morskoy-boy-s-dostoynym-sopernikom-ii»,»short_name»:»FB»,»title»:»Facebook»,»width»:600,»height»:450},»twitter»:{«url»:»https:\/\/twitter.com\/intent\/tweet?url=https:\/\/dtf.ru\/flood\/187827-python-napishem-morskoy-boy-s-dostoynym-sopernikom-ii&text=Python. \u041d\u0430\u043f\u0438\u0448\u0435\u043c \u043c\u043e\u0440\u0441\u043a\u043e\u0439 \u0431\u043e\u0439 \u0441 \u0434\u043e\u0441\u0442\u043e\u0439\u043d\u044b\u043c \u0441\u043e\u043f\u0435\u0440\u043d\u0438\u043a\u043e\u043c-\u0418\u0418″,»short_name»:»TW»,»title»:»Twitter»,»width»:600,»height»:450},»telegram»:{«url»:»tg:\/\/msg_url?url=https:\/\/dtf.ru\/flood\/187827-python-napishem-morskoy-boy-s-dostoynym-sopernikom-ii&text=Python. \u041d\u0430\u043f\u0438\u0448\u0435\u043c \u043c\u043e\u0440\u0441\u043a\u043e\u0439 \u0431\u043e\u0439 \u0441 \u0434\u043e\u0441\u0442\u043e\u0439\u043d\u044b\u043c \u0441\u043e\u043f\u0435\u0440\u043d\u0438\u043a\u043e\u043c-\u0418\u0418″,»short_name»:»TG»,»title»:»Telegram»,»width»:600,»height»:450},»odnoklassniki»:{«url»:»http:\/\/connect. ok.ru\/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl=https:\/\/dtf.ru\/flood\/187827-python-napishem-morskoy-boy-s-dostoynym-sopernikom-ii»,»short_name»:»OK»,»title»:»\u041e\u0434\u043d\u043e\u043a\u043b\u0430\u0441\u0441\u043d\u0438\u043a\u0438″,»width»:600,»height»:450},»email»:{«url»:»mailto:?subject=Python. \u041d\u0430\u043f\u0438\u0448\u0435\u043c \u043c\u043e\u0440\u0441\u043a\u043e\u0439 \u0431\u043e\u0439 \u0441 \u0434\u043e\u0441\u0442\u043e\u0439\u043d\u044b\u043c \u0441\u043e\u043f\u0435\u0440\u043d\u0438\u043a\u043e\u043c-\u0418\u0418&body=https:\/\/dtf.ru\/flood\/187827-python-napishem-morskoy-boy-s-dostoynym-sopernikom-ii»,»short_name»:»Email»,»title»:»\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u043f\u043e\u0447\u0442\u0443″,»width»:600,»height»:450}},»isFavorited»:false}
6011 просмотров
Ознакомиться с полным кодом приложения и запустить прямо в браузере можно как всегда в конце статьи по ссылке.
Вот предыдущая статья про спички если кому-то интересно:
Прошлое приложение заняло 130 строк кода и я таки умудрился расписать его целиком в рамках поста, а вот морской бой уже получился на все 470+ строк. Всё расписать не получится. Будут расширеные комментарии внутри самого кода по ссылке. Как всегда начнём с самого морского боя, а ИИ (я буду называть это ИИ) оставим на вторую половину.
Морской бой
Сама игра не такая уж и сложная, но в ней хватает нюансов и если писать всё более-менее аккуратно, то получается много кода. В основном это связано с различными проверками при расстановке кораблей, доступности хода, проверками целости кораблей и прочее.
Начнём пожалуй с описания основных классов, которые нам понадобятся для реализации:
Game — сама игра. Этот класс будет группировать и манипулировать остальными классами.
Player — игрок. Будет иметь своё поле, будет совершать ходы.
Field — поле. Будет состоять из двух частей: основная карта и радар. Поле будет проверять возможность расположения кораблей, расставлять корабли, уничтожать их.
Ship — корабль. Можно было обойтись без него на самом деле, но с ним проще. В основном корабль будет хранить координаты и свои HP.
Кроме основных классов так же были написаны вспомогательные FieldPart — чтобы было проще обращаться к конкретной части поля (карта/радар). Color — чтобы было проще и нагляднее задавать цвет элементам. Cell — чтобы описать все возможные состояния клетки поля в одном месте (пустая, сыграная, корабль, уничтоженый корабль, поврежденный корабль).
Class Game(object)
class Game(object): letters = («A», «B», «C», «D», «E», «F», «G», «H», «I», «J») ships_rules = [1, 1, 1, 1, 2, 2, 2, 3, 3, 4] field_size = len(letters) def __init__(self): self. players = [] self.current_player = None self.next_player = None self.status = ‘prepare’ # просто названия функций входящих в Game # сами функции с детальным описанием можно найти в полном коде def start_game(self) def status_check(self) def add_player(self, player) def ships_setup(self, player) def draw(self) def switch_players(self) def clear_screen()
В классе Game мы опишем буквы используемые для отображения координат. Понятное дело внутри самой игры всё задаётся исключительно цифровыми координатами [0][4], [5][1] … но игрок должен во-первых видеть буквы на поле, а во-вторых делать свои ходы используя буквенные обозначения. Поэтому без букв никак. ships_rules — в эту переменную поместим «правила» по кораблям, какие корабли игрок должен выставить до начала боя (здесь можно немного поэкспериментировать при желании: ). field_size — величина поля. Сделаем зависимость от величины списка letters. Поле ведь квадратное, а значит сколько букв — такие и габариты.
Игра будет хранить игроков в cписке players. Но зачем мучиться с коэффициентами при обращении к игрокам, если можно завести две переменные current_player и next_player,которые ссылаются на элементы списка players. Так мы всегда понимает как обратиться к текущему и следующему игроку. А в конце хода мы просто меняем значения этих переменных местами. Ну и я решил добавить такое понятие как status. У игры не то чтобы много статусов, но таким образом можно организовать более наглядный переход из одного состояния в другое в самом игровом цикле. Статусы будут примерно такие: prepare, in_game, game_over.
Функции у игры следующие:
start_game — просто объявляем текущего игрока и следующего.
status_check — игра каждый ход проверяет статусы и меняет их при достижении условий.
add_player — функция используется когда у игры статус prepare для добавления игроков и назначени им полей.
ship_setup — так же используется на старте игры. Передаём в функцию ссылку на игрока и игра просит его расставить корабли или расставляет автоматически. draw — рисует каждый ход поле и доп.инфу. switch_players — просто переключает текущего игрока и следующего, юзается в конце хода. clear_screen — чистит экран.
Class Player(object)
class Player(object): def __init__(self, name, is_ai, skill): self.name = name self.is_ai = is_ai self.auto_ship_setup = True self.skill = skill self.message = [] self.ships = [] self.enemy_ships = [] self.field = None # просто названия функций входящих в Player # сами функции с детальным описанием можно найти в полном коде def get_input(self, input_type) def make_shot(self, target_player) def receive_shot(self, shot)
Кратенько по игроку. name — просто имя. is_ai — является игрок ИИ или нет, в зависимости от этого меняет некоторая логика хода. auto_ship_setup — автоматически расставлять корабли для игрока или вручную. Опция для нетерпеливых. skill — относится к ИИ пока пропустим описание. ships наполняется имеющимися у игрока кораблями. enemy_ships — здесь будем считать какие корабли остались у противника — человек конечно и сам может посчитать, но для ИИ очень полезно. field — поле игрока (поле будет описано ниже)
Функции у игрока: get_input — запросить ввод. здесь мы передаем тип инпута либо ‘ship_setup’ либо ‘shot’. Всё зависит от статуса игры. Много логики внутри, тут лучше почитать код с комментами. make_shot — делаем выстрел по указанному игроку. В этой функции как раз и вызывается get_input с параметром ‘shot’. receive_shot — соответственно игрок принимает выстрел по координатам. На самом деле если чётко расписать действия игроков на бумаге и чем они оперируют в ходе игры всё становится гораздо очевиднее. receive_shot возвращает на выходе либо ‘miss’ (прмах) либо ‘get’ (ранил) либо ссылку на объект Ship (убил). Если убил логично вернуть весь корабль т.к. тогда проще закрасить на радаре клетки вокруг. Да, это конечно дерзко возвращать данные разных типов, но что поделать.
Class Field(object)
class Field(object): def __init__(self, size): self.size = size self.map = [[Cell.empty_cell for _ in range(size)] for _ in range(size)] self.radar = [[Cell.empty_cell for _ in range(size)] for _ in range(size)] self.weight = [[1 for _ in range(size)] for _ in range(size)] # просто названия функций входящих в Field # сами функции с детальным описанием можно найти в полном коде def draw_field(self, element) def check_ship_fits(self, ship, element) def mark_destroyed_ship(self, ship, element) def add_ship_to_field(self, ship, element) def get_max_weight_cells(self) def recalculate_weight_map(self, available_ships)
С полем всё просто: size — размер поля. map — основная карта поля по факту просто список списков изначально заполняемый пустыми клетками (Cell.empty_cell). radar — так же. weight уже по интереснее. Это относится к ИИ, поэтому обсудим чуть ниже.
Функции. draw_field — отрисовка поля. Здесь и далее параемтр element это часть поля с которой необходимо работать. либо Map либо Radar либо Weight. Check_ship_fits — прверяем что корабль помещается на ту или иную позицию. Используется при расстановке кораблей а так же для некоторых манипуляций с ИИ. mark_destroyed_ship — помечаем что корабль уничтожен. Ставим на нем кресты, вокруг — точки. add_ship_to_field — добавление корабля. тут все понятно. get_max_weight_cells и recalculate_weight_map относится к ИИ, это рассмотрим чуть ниже.
Class Ship(object)
class Ship: def __init__(self, size, x, y, rotation): self.size = size self.hp = size self.x = x self.y = y self.rotation = rotation
Тут вообще всё до безобразия просто: x, y — координаты начала корабля. size — размер. rotation — в какую сторону повёрнут (от 0 до 4). hp — текущее хп корабля. Конкретные поврежденные клетки не отслеживаются т.к. по факту за контроль отрисовки поля отвечает класс Field.
Последнее что мы рассмотрим перед написанием ИИ это основной цикл игры:
if __name__ == ‘__main__’: players = [] players. append(Player(name=’Username’, is_ai=False, auto_ship=True, skill=1)) players.append(Player(name=’IQ180′, is_ai=True, auto_ship=True, skill=1)) game = Game() while True: game.status_check() if game.status == ‘prepare’: game.add_player(players.pop(0)) if game.status == ‘in game’: Game.clear_screen() game.current_player.message.append(«Ждём приказа: «) game.draw() game.current_player.message.clear() shot_result = game.current_player.make_shot(game.next_player) if shot_result == ‘miss’: game.next_player.message.append(‘На этот раз {}, промахнулся! ‘.format(game.current_player.name)) game.next_player.message.append(‘Ваш ход {}!’.format(game.next_player.name)) game.switch_players() continue elif shot_result == ‘retry’: game.current_player.message.append(‘Попробуйте еще раз!’) continue elif shot_result == ‘get’: game.current_player.message.append(‘Отличный выстрел, продолжайте!’) game.next_player.message.append(‘Наш корабль попал под обстрел!’) continue elif shot_result == ‘kill’: game.current_player.message.append(‘Корабль противника уничтожен!’) game.next_player.message.append(‘Плохие новости, наш корабль был уничтожен :(‘) continue if game.status == ‘game over’: Game.clear_screen() game.next_player.field.draw_field(FieldPart.main) game.current_player.field.draw_field(FieldPart.main) print(‘It was the last ship of {}’.format(game.next_player.name)) print(‘{} win the match! Congrats!’.format(game.current_player.name)) break print(‘Thanks for playing!’) input(»)
Все достаточно просто. В цикле бесконечно проверяется статус игры и в зависимости от этого выполняются те либо иные действия. В статусе ‘in game’ происходят основные события игры. Получение данных о выстреле игрока, добавление подходящего сообщения для обоих игроков, передача хода другому игроку при промахе и прочее.
Если наступает статус ‘game over’ — выводим основные поля обоих игроков. Пишем кто выиграл, кто проиграл.
Алгоритм поведения ИИ
Как всегда я сел и стал прикидывать какой логикой оперирует человек при игре в морской бой.
- Первый ход случайный.
- Если попал и убил — обрисовал точками вокруг
- Если попал и не убил — стреляем в клетки сверху/снизу/слева/справа
- По диагоналям от клетки «попал» не может быть кораблей
- Прикидываем если остались только большие корабли — затираем мелкие скопления пустых клеток
Более глубокой логики поведения человека я придумать не смог. Дальше начал думать как перенести всё это на какие-то условия. Надо бы держать в уме предыдущий ход, а еще лучше предыдущий удачный ход. И если ты «попал», то следующий выстрел по сторонам. Если второй выстрел не попал, то вернуться к предыдущему ходу и выстрел в другую сторону рядом. Но дальше начинаютя сложности. Так как нужно понимать, что корабль прямой. Значит надо, чтобы ИИ понимал направление корабля и ходил после повторного попадания уже не по четырём направлениям, а в общем-то по одному. И опять-таки приходим к тому, что нужно помнить откуда начался этот корабль. Но это всё просто по сравнению с последним пунктом. Дойдя до него я понял: прежде чем стрелять по клетке — проверь, а помещается ли какой-нибудь корабль хоть как-то в нее.
И тут рассуждения увели меня чуть в сторону и стала вырисовываться идея коэффициентов: назначаем клеткам коэффициенты и стреляем по наиболее весомой. Если корабль помещается в какие-то клетки — прибавляем им коэффициенты. Если нет — коэффициент останется нулевым. Функция check_ship_fits уже была готова т.к. использовалась для расстановки кораблей до начала игры. Отлично.
Я начал развивать идею с коэффициентами. Решил так: изначально каждую клетку поля проверяем на возможность начала с нее корабля. Причем в любую из четырёх сторон. Итого клетка за каждый корабль может получить 4 балла. Естественно речь про поле-радар, единственно доступная информация о кораблях противника расположена на нем. Со временем поле будет заполнятья убитыми кораблями и промахами а коэффициенты этих клеток будут автоматически иметь 0.
Далее в систему коэффициентов нужно как-то вписать все пункты алгоритма:
«Первый ход случайный» — с введением коэффициентов это понятие немного изменится. Теперь каждый ход будет набираться список клеток с самым высоким коэффицентом, а уже из него будет случайным образом выбираться точка обстрела. Зачастую будет получатья так, что список будет состоять из одной единственной клетки которая методом подсчета получила максимальный коэффициент. Так что в целом становитя не важно первый это ход или нет.
«Если попал и убил» — тоже просто. В таких случаях клетке сразу ставится коэффициент 0 как и всем клеткам вокруг нее.
здесь и далее приведен небольшой кусочек поля
«Если попал и не убил» — мы усиливаем вес клеток по всем четырём направлениям т.к. корабль может иметь продолжение только в 4 стороны. По диагоналям от попадения — нули. Тут есть хитрость. Мы не просто выставляем коэффицинет всем вокруг мы умножаем имеющийся, а значит защищаем себя от возможности случайно увеличить нулевой кэффициент
первое попадание. увеличиваем коэффициенты
второе попадание
Ну и последний пункт — если остались только большие корабли — затираем мелкие скопления пустых клеток. Это будет выполняться на основе начального вычисления коэффициентов. Для каждой клетки будут браться оставшиеся корабли и будет совершаться попытка их вписать. Пример:
остался только трехпалубный корабль и как бы мы ни старались он не может проходить через клетку с «?» значит эта клетка не получит увеличения коэффицинета. И как результат коэффициент там будет 0. То же справедливо и для двух незанятых клеток чуть ниже.
Теперь осталось всего лишь написать это:
# пересчет веса клеток def recalculate_weight_map(self, available_ships): # Для начала мы выставляем всем клеткам 1. # нам не обязательно знать какой вес был у клетки в предыдущий раз: # эффект веса не накапливается от хода к ходу. self.weight = [[1 for _ in range(self.size)] for _ in range(self.size)] # Пробегаем по всем полю. # Если находим раненый корабль — ставим клеткам выше ниже и по бокам # коэффициенты умноженые на 50 т.к. логично что корабль имеет продолжение в одну из сторон. # По диагоналям от раненой клетки ничего не может быть — туда вписываем нули for x in range(self.size): for y in range(self.size): if self.radar[x][y] == Cell.damaged_ship: self.weight[x][y] = 0 if x — 1 >= 0: if y — 1 >= 0: self.weight[x — 1][y — 1] = 0 self.weight[x — 1][y] *= 50 if y + 1 < self.size: self.weight[x — 1][y + 1] = 0 if y — 1 >= 0: self.weight[x][y — 1] *= 50 if y + 1 < self.size: self.weight[x][y + 1] *= 50 if x + 1 < self.size: if y — 1 >= 0: self.weight[x + 1][y — 1] = 0 self.weight[x + 1][y] *= 50 if y + 1 < self.size: self.weight[x + 1][y + 1] = 0 # Перебираем все корабли оставшиеся у противника. # Это открытая инафа исходя из правил игры. Проходим по каждой клетке поля. # Если там уничтоженый корабль, задамаженый или клетка с промахом — # ставим туда коэффициент 0. Больше делать нечего — переходим следующей клетке. # Иначе прикидываем может ли этот корабль с этой клетки начинаться в какую-либо сторону # и если он помещается прбавляем клетке коэф 1. for ship_size in available_ships: ship = Ship(ship_size, 1, 1, 0) # вот тут бегаем по всем клеткам поля for x in range(self.size): for y in range(self.size): if self.radar[x][y] in (Cell.destroyed_ship, Cell.damaged_ship, Cell.miss_cell) \ or self.weight[x][y] == 0: self.weight[x][y] = 0 continue # вот здесь ворочаем корабль и проверяем помещается ли он for rotation in range(0, 4): ship.set_position(x, y, rotation) if self.check_ship_fits(ship, FieldPart.radar): self.weight[x][y] += 1
У нас есть поле с выставленными коэффициентами. Надо бы дописать функцию get_max_weight_cells которая будет возвращать список координат с максимальным коэффициентом.
def get_max_weight_cells(self): weights = {} max_weight = 0 for x in range(self.size): for y in range(self.size): if self.weight[x][y] > max_weight: max_weight = self.weight[x][y] weights.setdefault(self.weight[x][y], []).append((x, y)) return weights[max_weight]
Занесем координаты всех клеток в словарь weights. Ключом будет вес клеток. Значением — список содержащий пары координат.
Пробегаем по всем клеткам и заносим их в словарь. Заодно запоминаем максимальное значение веса. Далее просто берём из словаря список координат с ключом максимальным заначением веса: weights[max_weight]
Всё что осталось сделать ИИ, для совершения адекватного хода, это из полученного списка координат выбрать случайную:
x, y = choice(self.field.get_max_weight_cells())
Вот вроде бы и всё. Здесь не описал многие детали реализации, но, как я писал выше, комментарии есть еще в коде.
Строку 335 можно раскомментировать, чтобы получить доступ к отладочному полю с коэффициентами и видеть их распределение.
Если хотите еще статью похожей тематики — ставьте лайк и предлагайте идеи.
В следующих раз можем попробовать написать например телеграмм-бот тамагочи: )
GamePigeon Sea Battle Guide: Tips & Tricks
Одна из самых популярных игр, в которую вы можете играть прямо сейчас, — это GamePigeon Battleship или Sea Battle . Это игра, которая очень похожа на Battleship , в который вы играли в детстве, но вам не нужно беспокоиться о правильных координатах или хранении всех этих маленьких деталей в одном месте. нужно беспокоиться о поиске корабля. Чтобы играть в Sea Battle на iPhone , вам необходимо установить и включить приложение GamePigeon .Затем вам нужно найти готового оппонента.
Игра может длиться долго, если вы не разбираетесь в том, как вы играете. Много GamePigeon Sea Battle стратегия будет вращаться вокруг нападения. Вам нужно делать умные звонки. Однако ваша защита тоже имеет значение. Вы должны разместить свои лодки в удобных местах.
В этом руководстве мы рассмотрим , как играть в Sea Battle на GamePigeon , как размещать лодки и как делать предположения.Читайте дальше, чтобы стать мастером Sea Battle .
Как играть в
Sea Battle на GamePigeonЕсли вы играли в Battleship раньше, вы знаете , как работает Sea Battle . По сути, это та же посылка. Здесь нет никаких сюрпризов или уловок. Тем не менее, не все играли в эту игру, поэтому вот несколько основных шагов:
- Начните с размещения ваших кораблей по доске. Все игроки могут перемещать свои корабли по своему желанию.Их нельзя поставить по диагонали, но можно поставить горизонтально и вертикально. Вы должны держать корабли достаточно далеко друг от друга, чтобы они не сидели рядом друг с другом. Если вы это сделаете, коробки вокруг корабля станут красными, пока вы их не переместите.
- Угадайте, где ваш противник разместил свои корабли. Вы можете выбирать по одному квадрату за раз . Если вы приземлитесь в воду, на коробке появится точка. Если вы столкнетесь с кораблем, вы почувствуете легкую дрожь в телефоне и увидите дым.Если вы столкнетесь с кораблем, вы снова сможете угадать. Если вы промахнетесь, настала очередь вашего врага.
- Когда вы успешно угадываете все квадраты, в которых находится корабль вашего врага, вы увидите, как появляется корабль, и все точки вокруг него заполняются.
- Продолжайте идти, пока не наберете , поразите все корабли противника .
Игра идет туда-сюда и может занять много времени, в зависимости от того, как быстро ваш оппонент отвечает. Если вы хотите сыграть в более короткую игру, вы можете изменить размер сетки и уменьшить количество кораблей.
GamePigeon Морской бой Стратегия: оборонаПри размещении лодок будьте внимательны. Не складывайте все в один угол и не складывайте все корабли по краям. Это хороший способ создать узор, который люди легко увидят. Вы также хотите менять свою стратегию каждый раз, когда вы играете в игру. Если вы собираетесь разместить какие-либо корабли по краям доски, подумайте о том, чтобы разместить там самые большие корабли. Таким образом, вы можете исключить количество свободных ячеек, которое получит ваш оппонент, когда он потопит ваш большой корабль.Поскольку самые большие корабли, скорее всего, будут поражены первыми, вы лишите своего противника некоторых преимуществ.
Если у вас есть большие участки открытой воды, это лучшее место для тех маленьких кораблей , которые действительно трудно найти. Обычно это последние корабли в игре. Если вы правильно разместите их, они не попадут в узор шахматной доски.
Лучшее, что вы можете сделать в отношении нарушения, — это подумать о своем месте . Не позволяйте ИИ настраивать их за вас.Подумайте о шахматной доске и выберите цвет (об этой стратегии мы поговорим в защите). Не ставьте все свои маленькие кораблики на что-то одного цвета.
GamePigeon Морской бой Стратегия: нападениеКогда вы угадываете, какие клетки поразить , есть несколько разных вещей, которые следует учитывать. Во-первых, ваш оппонент сделает то же самое, что и вы в нападении. Начните с угадывания краев, а затем продвигайтесь к центру.
При угадывании большинство людей будет угадывать в виде шахматной доски. Для этого нужно думать о доске линкора как о шахматной доске. Выберите красный или черный и цельтесь только в эти квадраты. Это поможет вам подобрать многие лодки, но не все. Некоторые люди решают сделать гигантским X с каждым другим квадратом , чтобы помочь разделить доску. Вы также можете сделать это, поставив знак плюса (+).
Когда вы попадаете в корабль, продолжайте движение, пока не вырубите его.Некоторые люди думают, что лучше всего найти их все, а затем начать, но так вы получите больше воды. Когда корабль полностью поражен, поля вокруг него заполняются, а это значит, что вам не нужно их угадывать. Поскольку вы не можете разместить лодки в этой области, это отличный способ устранить плохие ходы .
Если вы регулярно играете с друзьями, начинает запоминать их ходы . Некоторые люди будут играть с большей частью своих кораблей по краю, а затем пойдут в центр.
GamePigeon Sea Battle ЧитыК сожалению, кроме кражи чужого телефона, в игре нет никаких читов .Единственное, что вы действительно можете сделать, — это узнать, как играют определенные люди, и использовать это в своих интересах. Sea Battle — отличный способ насладиться этой классической игрой . Вы получаете добавление звуков и тактильных ощущений, что делает игру немного более похожей на старую пластиковую игру, которую многие из нас помнят. Однако вам не нужно беспокоиться о том, что эти маленькие красно-белые жетоны повсюду в вашем доме.
Как победить в линкоре! : 3 шага (с изображениями)
Чтобы разместить ваши корабли в наиболее идеальных местах, примите во внимание следующие советы…
1. Избегайте самых угадываемых мест (часть 1). Много поиграв в «Морской бой» и наблюдая за наиболее часто угадываемыми локациями, я обнаружил, что столбцов 1, 5 и 10 — это буквально КАЖДЫЙ раз наиболее часто угадываемые столбцы. Если вы хотите скрыть свои корабли наиболее незаметно, всегда не помещайте их в эти колонны.
2. Избегайте самых угадываемых мест (часть 2). В дополнение к исключению столбцов 1, 5 и 10 также избегайте всего, что вы можете легко сказать или что легко скатывается с языка.Люди склонны естественным образом — безобидно — угадывать места, которые они могут легко сказать. Я не знаю, почему это так, но это факт (просто проверьте это). Такими местами являются: B2, J9, E3, I9 и т. Д. Следовательно …
3. Разместите свои корабли в труднодоступных местах. Вещи, которые с трудом скатываются с языка, будут лучшим вариантом для укрытия ваших кораблей. Это требует более тщательного обдумывания и стратегического размещения, что, в свою очередь, дает вам лучшие результаты и больше побед! Такие места для размещения ваших кораблей: H8, I2, F6, C7 и т. Д.
4. Используйте более вертикальные местоположения корабля. Если вы разместите свои корабли в основном вертикально, это поможет им меньше поражаться. Горизонтальные корабли занимают намного больше места по сравнению с большим количеством колонн, что дает вашему противнику преимущество в том, что он быстрее их найдет. Когда кто-то просматривает свою доску в поисках ваших кораблей, он будет искать на (больше, чем они смотрят вверх и вниз по доске) в поисках предположения, то есть они начнут смотреть на горизонтальные пространства и промежутки (естественно), когда определить, где, по их мнению, находятся ваши корабли.Я предполагаю, что это, вероятно, естественно, потому что (в Северной Америке и многих других странах) мы читаем слева направо по горизонтали. Таким образом, если вы разместите их вертикально, вы уменьшите свои шансы на обнаружение кораблей. Теперь, вместо того, чтобы ваш оппонент увидел зазор на своей доске и угадал ваш корабль в точках A1, A2, A3 и A4 … ваш корабль теперь лучше скрыт в точках A3, B3, C3 и D3 (например). Просто прочитав эти два набора из четырех (A1-A4 и A3-D3), заметили ли вы, что вам было легче быстро читать A1-A4 и что ваш мозг как бы «икнет» или «заикается» (иначе говоря, вам приходилось читать это немного медленнее) пытаетесь приспособиться к чтению A3-D3? Посмотрите, почему это происходит дальше…
4а. Как только ваш корабль будет найден, ваш противник должен угадать его в числовом порядке. Именно так наш мозг учат функционировать (например, когда вас учат считать, вы говорите «1, 2, 3, 4»). Следовательно, когда ваш оппонент угадает, он, скорее всего, угадает следующее число по горизонтали после точки «попадания» на вашем корабле. Если ваши корабли находятся в горизонтальном положении (A1, A2, A3, A4), они будут потоплены в спешке. Если они вертикальные, вы выиграете время, пока ваш противник пытается выяснить, в какую сторону смотрит ваш корабль.
5. Держите корабли сплоченными группами. Как вы можете видеть на втором рисунке, мои первые два корабля вертикально размещены в столбцах 2 и 3 на меньшем расстоянии друг от друга. Вы также заметите, что остальные три корабля находятся в небольшой группе около середины-нижнего правого края доски. Когда люди гадают, где, по их мнению, находятся ваши корабли, они склонны гадать от случая к случаю. Например, если они потопят корабль в F6-I6, их следующие предположения будут где-то дальше от этого (как если бы они одержали большую победу в этом одном месте, а теперь пора двигаться в другом месте).Таким образом, если ваши корабли будут ближе друг к другу, это приведет к меньшим ударам (и потоплению). Только не ставьте корабли так близко друг к другу, чтобы их квадраты соприкасались по горизонтали или вертикали (по диагонали это нормально). В противном случае, когда ваш противник ударит один корабль и начнет угадывать другие квадраты вокруг него, он может начать уничтожать второй корабль в процессе.
ПРИМЕЧАНИЕ: Даже после того, как ваш противник потопит вертикальный корабль, очень редко он начинает угадывать большее количество вертикальных пространств.Так что не волнуйтесь, это обычно не влияет на приведенные выше советы. Большинство людей просто придерживаются привычки 🙂
6. Оставьте немного пустого места. Этот совет просто ОТЛИЧНЫЙ! Забавно наблюдать, как ваш противник угадывает все эти точки в вашей области пропуска — и раздражается, что не может найти ваши корабли! Они делают это потому, что «конечно» этот гигантский зазор на их досках между (или вне) их белыми колышками «должен» содержать корабль! Это естественное желание нашего мозга придавать вещам симметрию. Если внизу есть куча белых колышков, тогда должно быть , чтобы попасть в корабль и поставить красные колышки наверху.Так работает наш мозг. Итак, чтобы КАЖДЫЙ раз сильно сбивать с толку ваших оппонентов, оставляйте какое-нибудь пустое место. Это достигается расположением ваших кораблей, как указано в пункте 5 выше.
СОВЕТ : Держите горизонтально только один (не более двух) меньших кораблей, чтобы противник не ухватился за вашу технику … заставляет их гадать каждый раз! Если ваш противник, кажется, уловил, внезапно переключите его в основном на горизонтальные положения и только на пару вертикальных. Затем снова переключитесь обратно.
ПРИМЕЧАНИЕ : Изучите второй рисунок выше, чтобы получить лучшее представление о размещении корабля (где используются эти советы). Это была настоящая игра, в которую я играл против кого-то, и это были РЕАЛЬНЫЕ результаты. Может быть, вы усовершенствуете свою технику, чтобы получить игру «без боя» (в которой вы потопили все корабли противника до того, как они потопили любой из ваших) … если да, не забудьте прокомментировать ниже (возможно, с изображением выигрышное размещение корабля)! : D
GamePigeon Battleship: Как играть, читы, подсказки, хитрости iPhone
GamePigeon Battleship — интересная игра о морских сражениях для iMessage.Это любимая игра фанатов, поскольку она предлагает захватывающие испытания. Игроки всегда оказываются вовлеченными в игру и пытаются выиграть все сражения.
Как играть в Морской бой в iMessage ничем не отличается от того, как вы играли бы на реальной доске. Все дело в стратегиях линкора и ни о чем другом. Игроки, которые умеют создавать лучшие маршруты и трюки, всегда на высоте. Это многопользовательская игра, в которой вы можете играть в Морской бой с друзьями. Однако не забудьте правильно понять игру, прежде чем принимать вызов.
Прочтите: Как играть, читы и трюки на Crazy 8 для GamePigeon
Геймплей и правила
Самое удивительное в GamePigeon Battleship — это его подлинность. Игра следует всем правилам Морского боя и не преподносит сюрпризов. Правила довольно простые:
- Разместите свой корабль на доске. Все игроки должны разместить свои линкоры на доске, чтобы начать игру.
- Угадай положение кораблей противника. Следующий шаг для игрока — угадать положение корабля другого игрока или врага.
- Уничтожить корабль. Игрок, который первым полностью уничтожит корабль противника, побеждает в игре.
Так как это игра-стратегия, большинство людей обычно ищут самый простой выход. Однако нелегко правильно предсказать, как каждый игрок будет играть в этом типе игры. Поэтому многие игроки постоянно ищут читы для iMessage Battleship. Здесь нет простых читов для игры Battleship iMessage, а есть только советы, которые облегчают игру.
Читать: GamePigeon Tanks геймплей, читы и уловки
Советы и хитрости
Есть несколько стратегий для победы.Однако лучшие пьесы перечислены ниже.
Шахматная доска
Это включает в себя представление о доске линкора как о шахматной доске. На шахматной доске будут соседние квадраты разного цвета.
Убедитесь, что вы попали в узор, так как в каждом квадрате будет компонент корабля. Это означает, что вы, как правило, уменьшите площадь, по которой придется стрелять, вдвое.
Создание целей
Это означает, что после того, как вы попали в корабль, вам нужно сделать своей целью прилегающую территорию.
Независимо от типа квадрата, он стреляет по всем областям, чтобы поразить следующую цель.
Определите вероятную зону цели
Попробуй выяснить, где вероятнее всего будет формироваться корабль. Такие области, как углы доски или края, с меньшей вероятностью удержат корабли.
Но центр доски позволяет игроку выровнять свой корабль так, как он хочет.
Большинство игроков избегают прямых выборов.Это означает, что все корабли на доске, вероятно, имеют разную ориентацию. Это должно помочь вам при уничтожении целей сосредоточиться на наименее вероятных целях, поскольку это то, к чему хотел бы пойти каждый игрок.
КодыGamePigeon Battleship — это как раз эти стратегии хорошо выполненные. Вы можете протестировать стратегии по отдельности и обязательно получить удовольствие от игры.
Читать: iMessage Cup Pong: Как играть, читы, советы, уловки
Инструкции по морскому бою (блокнот и карандаш / магнитное перемещение)
Инструкции по морскому бою (блокнот и карандаш)В игре используются четыре сетки, по две для каждого игрока.На одной сетке игрок расставляет корабли и фиксирует выстрелы противника. В другой сетке игрок записывает свои удары.
Перед началом игры каждый игрок тайно размещает свои корабли на их основной сетке. Каждый корабль занимает несколько последовательных квадраты на сетке, расположенные горизонтально или вертикально. Количество квадратов для каждого корабля определяется типом корабля. Корабли не могут перекрываться (т. Е. Только один корабль может занимать любой квадрат в сетке).Типы и количество кораблей разрешены одинаковы для каждого игрока.
Авианосец = 5 квадратов
Линкор = 4 квадрата
Подводная лодка = 3 квадрата
Разрушитель = 3 квадрата
Патрульный катер = 2 квадрата
После кораблей позиционируется, игра продолжается в серию раундов. В каждом раунде каждый игрок по очереди объявлять мишень в сетке соперника, по которой следует стрелять. Противник объявляет, квадрат занят кораблем, и если он это «хит», они отмечают это в своей собственной основной сетке.Атакующий игрок заметил попадание или мох на их собственная «отслеживающая» сетка, чтобы создать картину оппонента флот.
Когда все клетки корабля поражены, корабль потоплен, и судовладелец объявляет об этом (например, «Вы потопили мой линкор!»). Если все корабли игрока потоплены, игра заканчивается и его противник побеждает.
Инструкции по морскому бою (магнитное путешествие)
Удача и ум тактика ведет к победе. Развлекательная игра на 2 персоны.
Цель игры:
Потопите флот противника, прежде чем он потопит ваш!
Собери в бой доска:
В открытом и плоском положении с нанесенной сеткой вверх коробка становится боевой доской. Картонный экран необходимо вставить в щель в середине доски, чтобы ваш противник не мог различить раздача вашей армады. У каждого игрока есть четыре сосуда, которые он может разместить в своих сетка по горизонтали, вертикали или диагонали.
- 4 КРАСНЫХ ПЛИТКИ обозначают АВИАЦИОНЕР.
- 3 БЕЛАЯ ПЛИТКА означает БОЙ.
- 2 ЗЕЛЕНЫХ ПЛИТКИ означает ФРЕГАТ.
- 1 СИНЯЯ ПЛИТКА обозначает ПОДВОДНУЮ ЛОДКУ.
Плитки одного цвета должны укладываться вместе, и каждая Судно не должно пересекать другое или лежать на другом.
Играть:
Бросок монеты определяет, какой игрок ходит первым, и бросок увольняется путем вызова буквы от A до E и числа от 1 до 12 i.е. В-9. Если у вашего оппонента нет плитки на указанном квадрате, он или она должны громко кричать голос: «МИСС!» а затем он или она делает снимок. Если у вашего оппонента есть плитка на в указанном квадрате он должен громко крикнуть: «УДАРА!» и ты можешь сделай еще один снимок. Записывайте снимки, сделанные на распечатанных сетках, снабженных карандашом, чтобы избежать повторения, используйте крестик, чтобы обозначить промах, и кружок, чтобы обозначить удар. Если все плитки одного цвета будут поражены, это судно будет потоплено. и должен быть объявлен таким образом.е. если обе зеленые плитки поражены, этот игрок должен кричать: «Вы потопили мой фрегат!»
ДЕРЖАТЬ БЫСТРО! НАСЛАЖДАЙТЕСЬ СВОЕЙ БИТВОЙ!
Просмотр продуктаКак играть в настольную игру «Морской бой»
Морской бой — это настольная игра на военную тематику для двух игроков, в которой противники пытаются угадать местонахождение боевых кораблей противника и потопить их. Бумажная и карандашная версия игры восходит к Первой мировой войне, но большинство людей знакомо с игрой через пластиковую настольную игру, которая впервые была продана компанией Milton Bradley Company в 1967 году.С тех пор игра породила различные видеоигры и варианты приложений для смартфонов. Сегодня версия настольной игры производится Hasbro, компанией, которая приобрела Милтона Брэдли в 1984 году.
Геймплей прост. Каждый игрок прячет корабли на пластиковой сетке с координатами по вертикали и горизонтали. Игроки по очереди вызывают координаты строк и столбцов в сетке другого игрока, пытаясь определить квадрат, в котором находится корабль.
Игровое поле, которое получает каждый игрок, состоит из двух сеток: верхней и нижней.Нижняя сетка используется игроком, чтобы «скрыть» местоположение своих кораблей, в то время как верхняя сетка используется для записи выстрелов, произведенных в сторону противника, и для документирования того, были ли эти выстрелы попаданиями или промахами.
Настройка игры
Каждый игрок получает игровое поле и пять кораблей разной длины. На каждом корабле есть отверстия, куда вставляются «слитные» колышки, и запас маркеров попаданий и промахов (белые и красные колышки). Пять кораблей:
- Держатель с пятью отверстиями
- Линкор с четырьмя дырками
- Крейсер, в котором три дырки
- Подводная лодка с тремя отверстиями
- Разрушитель, имеющий две дырки
Два игрока должны располагаться лицом друг к другу через игровой стол.Их целевые сетки возвращаются друг к другу вертикально, так что ни один из игроков не может видеть океанскую сетку своего противника и местоположения кораблей.
Перед началом игры каждый противник тайно размещает свои пять кораблей на решетке океана (нижняя часть доски), выкладывая свои корабли и закрепляя их в отверстиях решетки. Каждый корабль должен быть размещен горизонтально или вертикально через ячейки сетки, а не по диагонали, и корабли не могут свисать с сетки. Корабли могут касаться друг друга, но не могут занимать одно и то же пространство сетки.Вы не можете изменить положение кораблей после начала игры.
Ель / Кэндис Мадонна
Базовый игровой процесс
Игроки по очереди стреляют (вызывая координаты сетки), чтобы попытаться поразить вражеские корабли противника.
В свою очередь, назовите букву и число, обозначающие строку и столбец на вашей целевой сетке. Ваш оппонент проверяет эту координату на своей океанской сетке и устно отвечает «промахнулся», если там нет корабля, или «ударил», если вы правильно угадали место, которое занимает корабль.
Отметьте каждый из ваших выстрелов или попыток стрелять по врагу, используя сетку прицела (верхняя часть доски), используя белые колышки, чтобы задокументировать ваши промахи, и красные колышки, чтобы зарегистрировать ваши попадания. По мере прохождения игры красные колышки будут постепенно определять размер и местоположение кораблей вашего противника.
Когда наступает очередь вашего оппонента стрелять в вас, каждый раз, когда один из ваших кораблей получает удар, вставляйте красный колышек в отверстие на корабле, соответствующее ячейке сетки. Когда на одном из ваших кораблей все ячейки заполнены красными колышками, вы должны сообщить оппоненту, когда ваш корабль потоплен.В классической пьесе фраза: «Ты потопил мой линкор!»
Игрок, первым потопивший все пять кораблей противника, побеждает в игре.
Нуша Ашджаи / Ель
Расширенный игровой процесс
Игроки, имеющие опыт игры в Морской бой, иногда используют разновидность игры, известную как вариация залпа. Основные правила остаются прежними, за исключением следующих случаев:
- В первом раунде игры вы делаете пять выстрелов (угадываете) и отмечаете каждый выстрел белым колышком в вашей сетке мишеней.
- После того, как вы произвели все пять выстрелов (залп), ваш противник объявляет, какие из них были поражены и по каким кораблям они попали.
- Для попаданий замените белые колышки на вашей целевой сетке на красные колышки. Тем временем ваш противник будет вставлять красные колышки в отверстия любых вражеских кораблей, в которые вы попадете.
- Поочередно двигайтесь вперед и назад, пока один из ваших кораблей не будет потоплен. В этот момент вы теряете один выстрел из своего залпа. Если, например, один из ваших кораблей тонет, ваш залп теперь уменьшается до четырех выстрелов; когда два корабля тонут, залп — три выстрела и так далее.
- Продолжайте игровой процесс, пока один игрок не потопит все противостоящие корабли и не выиграет игру.
Карандаш и бумага Версия
Также можно сыграть в игру «Морской бой» классическим способом, нарисовав сетку океана на бумаге и пометив горизонтальные и вертикальные ряды для создания координат. Можно сделать доску своими руками. Например, для обычного океана площадью 100 квадратных метров обозначьте горизонтальные ряды от 1 до 10, а вертикальные ряды от A до J.
Как и в традиционной настольной игре, каждому игроку понадобится две океанские решетки.Одна сетка отмечает укрытие ваших пяти кораблей и любые удары, которые противник наносит этим кораблям. Вторая сетка отслеживает попадания и промахи, которые вы делаете, когда стреляете в противника. Когда выстрел попадает, отметьте соответствующий квадрат знаком X; задокументируйте промахи с помощью 0.
Для более сложной игры вы можете сделать большую сетку с большим количеством квадратов, используя буквы от A до Z для обозначения вертикальных координат и числа от 1 до 26 для горизонтальных рядов. Чем больше сетка океана, тем сложнее становится игра.
Ель / Кэндис Мадонна
Как победить на линкоре
В отличие от шахмат, которые представляют собой сложную игру, по которой были написаны сотни книг по стратегии, стратегия для Морского сражения не очень сложна. По сути, в вашей игре «Морской бой» есть только два простых решения. Сначала вам нужно выяснить, где спрятать ваши корабли, а затем вам нужно выяснить, как стрелять по доске противника.
Ель / Марина ЛиРазмещение ваших кораблей
Цель размещения ваших кораблей на доске — заставить оппонента как можно больше времени найти их все.На самом базовом уровне это означает, что ваши корабли должны располагаться в некоторой степени случайным образом. Все остальные рекомендации по размещению основаны на рассмотрении того, как ваш противник может атаковать.
Не размещайте ваши корабли, касаясь друг друга: Противник, получивший попадание в вашу сетку, скорее всего, обведет эту точку в поисках остальной части корабля. Если ваш противник находит сразу два корабля, значит, вы только что потеряли лишний корабль.
Поместите корабль на край доски: Многие противники будут стрелять большей частью в середину доски, поэтому наличие хотя бы одного корабля на краю может дать вам преимущество.Не ставьте все свои корабли на край, иначе ваш противник может догадаться, что вы делаете.
Будьте асимметричными: Другими словами, не дублируйте размещение ваших грузов. Если у вас есть корабль на расстоянии одного квадрата от обоих краев в левом нижнем углу, не делайте то же самое в правом верхнем углу. Человеческий разум ищет закономерности, поэтому ваш противник с большей вероятностью найдет оба корабля после того, как найдет первый.
Будьте непредсказуемы: Если вы следовали вышеуказанным правилам несколько игр подряд против одного и того же оппонента, нарушите их.Это запутает вашего оппонента и гарантирует, что вас не так легко перехитрить.
Фотографии Лео Кокса / Getty ImagesСнимки
Цель вашей стрельбы — как можно быстрее обнаружить и потопить корабли противника. Если вы не умеете читать мысли, чьи случайные догадки могут сработать, вам следует стрелять логично и упорядоченно.
Угадайте диагональные линии: Другими словами, если ваш первый выстрел сделан по C-1, подумайте о том, чтобы сделать следующий выстрел по F-4, а следующим выстрелом по I-7.Выполняя выстрелы по диагональной линии, вы гарантируете, что каждый из ваших выстрелов будет расположен в новой строке и новом столбце, тем самым увеличивая количество строк и столбцов, в которые вы стреляете.
Не группируйте выстрелы на раннем этапе: Ваша первоначальная цель — охватить как можно большую площадь, поэтому не начинайте с стрельбы рядом друг с другом, даже по диагонали. Вместо этого оставьте несколько интервалов между кадрами. После первого залпа вы можете вернуться и заполнить пробелы в диагональных линиях.Как только вы сделаете достаточно выстрелов, чтобы нарисовать несколько диагональных линий, вы заметите, что вы использовали эти линии, чтобы разделить доску на небольшие части. С этого момента вы должны стараться систематически делать выстрелы в каждую часть, чтобы исключить возможность того, что самый большой из оставшихся кораблей вашего противника существует в этом регионе.
Рассмотрим метод шахматной доски: Если вы представите сетку стрельбы как гигантскую шахматную доску с чередующимися белыми и черными квадратами, вы можете поразить все противостоящие корабли, стреляя только по черным квадратам.Это хорошо сочетается со стратегией диагональной линии и означает, что вам никогда не понадобится стрелять по половине квадратов в игре («белые»), кроме как для того, чтобы потопить корабль, в который вы уже попали. Когда вы попали в цель, продолжайте стрелять по соседним участкам, чтобы попытаться продолжить топить лодку противника.
Приобрести Поля сражений боевых кораблей морского боя
Sea Battle Warships Battlefields — Выстройте свою подводную лодку и дайте залп торпеды. Отправьте военный корабль на дно моря и выиграйте битву линкоров! Начни битву! Это ваш долг, командир! BATTLESHIP CLASH — это РЕАЛЬНАЯ трехмерная военно-морская игра.Есть более 10 боевых кораблей, боевых самолетов, пушек и всех видов оружия. Вы потопили мой линкор! Найдите вражеские корабли и поразите их раньше, чем они это сделают. Наслаждайтесь самой продвинутой пошаговой битвой на кораблях! Официальная версия классической настольной игры Hasbro о морских боях уже доступна в Windows Store! Бросьте вызов другим игрокам в классическом режиме или в совершенно новом режиме командира — динамичном, стратегическом и тактическом варианте. Играйте с уникальными военно-морскими командирами и используйте ресурсы, чтобы активировать мощные специальные способности, которые обеспечат вам победу в войне в открытом море.Вам нравятся армейские стратегические игры, такие как World of Warships Blitz и WARSHIP BATTLE: 3D World War и World of Tanks? Специально для вас — наша новейшая игра Sea Battle 2 Battleship Warships! Функции: — Быстрый матч на линкоре — 3D-корабли: соберите свой флот линкоров — Играйте в игру в стандартном или классическом режиме — Играть бесплатно — Потрясающая 3D графика Классическая военная игра «Морской бой», расставляйте свои корабли и уничтожайте скрытые корабли врага, чтобы выиграть игру. Морской бой — это военная игра, вы сражаетесь с врагом на море своим флотом.У обоих игроков одинаковый флот. Этот игровой дизайн относится к типу МОРСКОЙ СТРАТЕГИИ. Основным огнем обороны являются все виды боевых кораблей, такие как авианосец, линкор, крейсер, эсминец и другие суда. Чтобы создать флот, часть атаки в основном зависит от многих типов боевых самолетов, таких как пикирующие бомбардировщики, истребители, тяжелые бомбардировщики и самолеты-торпеды. Главные и вспомогательные орудия кораблей также могут создать сеть противовоздушной обороны для защиты вашего флота. Это пошаговая игра, сначала у вас есть шанс атаковать, а затем вашего врага.Сразитесь со своим врагом в Тихом океане, да, это военно-морской линкор. Присоединяйтесь к крупнейшей военно-стратегической игре «Морской бой» Морской бой «Боевые корабли» и ИГРАЙТЕ СЕЙЧАС!
Показать больше .