Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
168 / 8 / 1
Регистрация: 15.11.2018
Сообщений: 256

Создать класс, реализующий хранилище кораблей для игрока в «Морской бой»

10.09.2019, 14:19. Показов 1234. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Это задача по теме контейнерные классы. Не бейте только за глупый вопрос. Но в данной задаче нужно создавать сам класс? Прост на паре когда мы разбирали примеры, как таковых классов не было. Мы писали типа этого в main():
C++
1
pair<int, string> s1 (123, "Ivanov"), s2 (234, "Petrov"), s3 (s2);
Задача: Морской бой. На клетчатом поле размера NxN заданы фигуры (корабли); каждый корабль состоит из смежных клеток, соприкасающихся сторонами. Создать класс, реализующий хранилище кораблей для игрока в игру «Морской бой». Корабли можно идентифицировать уникальными номерами. Реализовать операции добавления, удаления корабля в хранилище (с проверкой корректности). Также реализовать операцию хранилища «выстрелить», в результате которой корабль может быть «ранен» или «убит».
И какой контейнер лучше использовать? Мне кажется лучше map, в ключе будут "уникальные номера", а в значении названия кораблей(линкор,крейсер и т.д.)
P.S. Извините за опечатку в названии, исправить не могу(
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.09.2019, 14:19
Ответы с готовыми решениями:

Расстановка кораблей (морской бой)
Доброго времени суток, при расстановке 2х палубных кораблей возникает проблема... При выборе точки уже занятой, система ломается и...

Консольный морской бой. Расстановка кораблей
Добрый вечер, уважаемые форумчане. Хочу написать консольный морской бой. Начал с функции автоматической расстановки кораблей. Весь...

Морской бой. Ф-ция автоматической рассатновки кораблей.
Добрый день, ув. форумчане! Есть задание написать консольный морской бой. Есть задача расстановки кораблей компьютера случайным образом....

3
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
10.09.2019, 15:09
Ну ага, нужно больше классов.
Корабль - класс хранящий число хитпоинтов, размер, координаты и ориентацию корабля.
Хранилище для кораблей - ну ага, запихать все в мап.
Поле - класс хранящий двумерный массив состоящий из указателей на корабли. Плюс, двумерный массив хранящий "стреляли ли по этой клетке?".
Цитата Сообщение от alexfandr Посмотреть сообщение
Также реализовать операцию хранилища «выстрелить», в результате которой корабль может быть «ранен» или «убит».
Не понял почему стреляем мы по игровому полю, а обрабатывать это действие должно хранилище.
0
168 / 8 / 1
Регистрация: 15.11.2018
Сообщений: 256
10.09.2019, 16:23  [ТС]
Renji, то есть значения в map будут являться объекты класса Корабль?
0
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
10.09.2019, 16:25
Ага, ключами - идентификаторы кораблей, значениями - сами корабли.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.09.2019, 16:25
Помогаю со студенческими работами здесь

Морской бой - программа зацикливается на расстановке кораблей
Нужно написать курсовую(игру). Решила написать морской бой(пока что консольно). Написала программу для расстановки кораблей. Не могу...

Проверить правильность расстановки кораблей. Морской бой
Есть матрица NxM, где расставлены корабли. Корабли не стоят на краю матрицы, кол-во 4-х клеточных кораблей - 1, 3-х клет. - 2, 2-х...

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

Морской бой: расставляется кораблей больше, чем положено
Здравствуйте! Пишу игру &quot;Морской бой&quot; в консоли, и попалась одна неприятная ситуация. Есть функция заполнения поля случайными кораблями,...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru