Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 10.10.2012
Сообщений: 20

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

19.03.2013, 14:02. Показов 2695. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу игру "Морской бой" на c# и никак не решу как лучше реализовать в программе корабли.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.03.2013, 14:02
Ответы с готовыми решениями:

Игра морской бой - как расставлять корабли
Решил написать игру чтоб опыта набраться. Вот возникла проблема: в верху формы расположены 4 кнопки(4вида кораблей) и ниже расположено...

Расставить корабли в игре Морской Бой
вот сделал игру морсой бой не могу раставить корабли помогите за рание спасибо #include <iostream> #include <iomanip> ...

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

7
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
19.03.2013, 16:13
как обьекты
0
0 / 0 / 0
Регистрация: 10.10.2012
Сообщений: 20
19.03.2013, 16:38  [ТС]
Ммм, а я то думал!!

Есть два варианта:

1) как объекты разных классов представляющих из себя два массива X-координат и У-координат

2) собирать корабли по частям
0
 Аватар для chizz
993 / 521 / 102
Регистрация: 19.03.2013
Сообщений: 3,114
Записей в блоге: 19
19.03.2013, 16:47
А поле как один объект?
Не лучше сделать поле из объектов - клеток.
У каждого объекта - клетки будут свои атрибуты, методы и т.д.
А уже из этих объектов составлять корабли.

Корабль будет отдельным объектом, состоящим из объектов-клеток.
0
0 / 0 / 0
Регистрация: 10.10.2012
Сообщений: 20
19.03.2013, 16:52  [ТС]
не совсем понимаю как это реализовать.

Мб по подробней объяснишь?
0
 Аватар для chizz
993 / 521 / 102
Регистрация: 19.03.2013
Сообщений: 3,114
Записей в блоге: 19
19.03.2013, 17:41
я не знаю, как там оно на C# конкретно.

Class cell
{
Private: x, y: int;// координаты в матрице (поле)
status: byte; // 0 - чистая;1 - промах; 2 - подбит
shipped: boolean; // 0 - не принадлежит кораблю, 1 - принадлежит кораблю
class: byte; // тип корабля, к которому принадлежит cell

Method: drawcell(x,y,status);
{ реализация }
}

Class field
{
Private: array of cell;
methods:
drawcell; // наверное надо сделать ее виртуальной, чтобы потом реализовать в cell.

}

Class Ships:Cell
{
method addcell(x,y,class); // привязать клетку к кораблю
{ cell.x = x;
cell.y = y;
cell.class = class;
cell.shipped = true;
}

потом создать объект Field.. создать массив cells класса cell, и рисовать корабли уже.
Взаимосвязи объектов Field-Cell-Ship тоже еще надо продумывать.
0
0 / 0 / 0
Регистрация: 10.10.2012
Сообщений: 20
19.03.2013, 18:13  [ТС]
Спасибо за подсказку, посижу обмозгую.
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
20.03.2013, 09:10
Думаю, как класс, в котором есть:
- начальная клетка
- направление (вертикальный-горизонтальный)
- массив boolean по числу клеток. (boolean показывает подбитость палубы).

Отдельно от поля - так проще рисовать будет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.03.2013, 09:10
Помогаю со студенческими работами здесь

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

Морской бой, как расставить корабли?
Делаю игру Морской бой, используя DrawGrid Как расставить корабли?

Морской бой. Корабли
Как создать корабли и расположить их в WinAPI?

Как реализовать AI в игре "Морской бой"
Подскажите пожалуйста как лучше реализовать умную игру компьютера

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru