3 / 3 / 1
Регистрация: 29.02.2016
Сообщений: 97
1

Морской бой

01.04.2016, 20:24. Показов 2388. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет!
Могли бы Вы мне помочь, суть вопроса в следующем:
Нужно частично реализовать игру "Морской бой", а именно, чтоб "он расставлял" корабли...
Не могу понять, как сделать, чтоб корабли не пересекались и не ложились друг на друга.
Только пожалуйста не готовый код, а намекните, как лучше сделать, а то целый день мучаюсь, и что-то ничего нового придумать не могу
Спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2016, 20:24
Ответы с готовыми решениями:

Морской бой
Привет всем, Читаю книгу Сьерра и Бейтса, уже на 150-ой где то странице они вбамбурили консольную...

Морской бой
Это программа про Морской бой. class Game главный класс. Не нравится компилятору 10 строчка или...

Морской бой
Здравствуйте! Могли бы подсказать, пожалуйста! Пишу морской бой и возникла проблема, проверки...

Простой морской бой
Всем привет, помогите реализовать простенький морской бой. Морской бой Создать 2 двумерных...

3
238 / 237 / 142
Регистрация: 03.02.2011
Сообщений: 1,437
01.04.2016, 20:36 2
ну у тебя есть поле 10 на 10. То есть двумерный массив. у каждой части корабля есть своя координата, например, 0 0. Созданную часть корабля заносить в отдельный массив и при генериции нового корабля, смотреть, не стоит ли на этом месте уже корабль (массив в котором содержатся части кораблей).
Помню в своё время написал всю игру на сокетах чтоб в универе в однокурссником на парах играть.
1
3 / 3 / 1
Регистрация: 29.02.2016
Сообщений: 97
01.04.2016, 23:26  [ТС] 3
Спасибо, так и думал что нужно еще один массив создавать... Я правильно ведь понял, необходимо создавать 2 -а 2- ух мерных массива?
Цитата Сообщение от Doctor_ Посмотреть сообщение
стоит ли на этом месте уже корабль
Вот только что-то я не совсем понимаю и знаю как это сделать, но за мысль все равно спасибо)))
Буду думать и пробовать, если что - напишу Вам)

Добавлено через 36 минут
Знаю, глупый вопрос, но я надеюсь, Вы мне можете объяснять или ткнуть, где это почитать но зачем нам еще один 2-ух мерный? Или как его применить? Допустим у нас случайным образом определяется начало координат корабля, пусть 0,0 или 1,1 не суть, затем случайным образом определяется по вертикали или горизонтали ставить и заполняем это место допустим 1. Затем допустим опять генерируется числа и если в этих ячейках нет 1 тогда ставим туда. Но я не могу понять, как проверить, есть ли там 1, что делать когда она есть, и когда её нет? И разве все - таки нельзя все сделать в 1 - ом 2-ух мерном массиве?
0
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
01.04.2016, 23:36 4
Nedoluga, вариант в лоб:
сделать цикл, который рандомно выбирает координату на поле и направление корабля
Далее отдельная функция, которая проверяет, можно ли поставить туда корабль. Если да - ставим, нет - возвращаемся к началу цикла.

Для хранения данных массив char[10][10] к примеру, где '.' - пусто, '=' - палуба

проверка происходит просто, проходим по всем будущим палубам и проверяем их соседние клетки на наличие '='
0
01.04.2016, 23:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.04.2016, 23:36
Помогаю со студенческими работами здесь

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

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

Примитивнейшая игра морской бой
public class SimpleDotComGame { public static void main(String args) throws IOException { ...

Игра через сервер в морской бой
Игра по сети в «Морской бой». Игроки играют в игру, передавая координаты через сервер.


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru