powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Формирование массива кораблей из игры морской бой?
11 сообщений из 11, страница 1 из 1
Формирование массива кораблей из игры морской бой?
    #38042834
Фотография Stasonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача чисто так, для интереса, все мы знаем Морской бой, так вот, как создать массив кораблей? Естественно формироваться он должен случайным образом и корабли не должны соприкасаться, а палубы могут быть разного типа.

Сам массив в итоге довольно тривиален должен получиться:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
var Ships = [
                  [0,0],
                  [2,2],
                  [4,4],
                  [6,6],
                  [[0,2],[0,3]]
                  ...
                ]



т.е. 4 одно-палубных, 3 дву-палубных и т.д.

В силу своих "глубоких" знаний у меня не получается даже логически это представить ( именно формирование ), есть ли у кого-нть какие-нть дельные советы?

Решать не прошу, только подтолкнуть на путь истинный!
...
Рейтинг: 0 / 0
Формирование массива кораблей из игры морской бой?
    #38042841
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StasonixРешать не прошу, только подтолкнуть на путь истинный!Все уже решено до нас.
игра
сорц
...
Рейтинг: 0 / 0
Формирование массива кораблей из игры морской бой?
    #38043016
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StasonixСам массив в итоге довольно тривиален должен получиться:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
var Ships = [
                  [0,0],
                  [2,2],
                  [4,4],
                  [6,6],
                  [[0,2],[0,3]]
                  ...
                ]


Не факт!
...
Рейтинг: 0 / 0
Формирование массива кораблей из игры морской бой?
    #38043019
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyВсе уже решено до нас.
игра
сорц
Корабли "прижимаются" друг к другу, что уже не правильно...
...
Рейтинг: 0 / 0
Формирование массива кораблей из игры морской бой?
    #38043020
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StasonixРешать не прошу, только подтолкнуть на путь истинный!
Это одна из задач-тестов которую должен уметь решать человек, претендующий на должность программиста.
Т.ч. тут либо "да", либо "нет"...
...
Рейтинг: 0 / 0
Формирование массива кораблей из игры морской бой?
    #38043075
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaAntonariyВсе уже решено до нас.
игра
сорц
Корабли "прижимаются" друг к другу, что уже не правильно...Это называется абордаж

С другой стороны, автор просил не готовое решение, а направление. Ему еще есть, куда двигаться :)
...
Рейтинг: 0 / 0
Формирование массива кораблей из игры морской бой?
    #38043114
Фотография Stasonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaStasonixСам массив в итоге довольно тривиален должен получиться:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
var Ships = [
                  [0,0],
                  [2,2],
                  [4,4],
                  [6,6],
                  [[0,2],[0,3]]
                  ...
                ]



Не факт!

Что не факт?

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

p.s. Имеется в виду навык формирования нестандартных одномерных массивов, конечно просто так его можно составить без каких-либо условий и логики, но толку от этого мало будет и как программист я не выросту.
...
Рейтинг: 0 / 0
Формирование массива кораблей из игры морской бой?
    #38043115
Фотография Stasonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stasonix,


StasonixИмеется в виду навык формирования нестандартных одномерных массивов

ой, "не стандартных одномерных массивов, а сложных многомерных".

Вот так правильнее.
...
Рейтинг: 0 / 0
Формирование массива кораблей из игры морской бой?
    #38043124
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StasonixЧто не факт?
Это значит, что все можно организовать иначе...
...
Рейтинг: 0 / 0
Формирование массива кораблей из игры морской бой?
    #38043288
Шогал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Генератор сложностью M * N^2:
1) пихаем четверной корабль куда угодно
2) помечаем все соседние с ним клетки как занятые
3) пробегаемся по всем клеткам и формируем массив со всеми возможными комбинациями установки следующего на очереди корабля (размер массива будет не более 2 * N^2 для двойных и более кораблей, N^2 для одинарных)
4) выбираем рандомный элемент массива и тыкаем туда очередной корабль. Если же массив пуст, значит пихать некуда, тогда сбрасываем поле и пытаемся построить снова (но не знаю, насколько эта ситуация реальна, если будем совать корабли по убыванию их размера)
5) повторяем второй пункт и далее, пока не разместим все корабли
...
Рейтинг: 0 / 0
Формирование массива кораблей из игры морской бой?
    #38043293
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шогалформируем массив со всеми возможными комбинациями установки следующего на очереди корабля (размер массива будет не более 2 * N^2 для двойных и более кораблей, N^2 для одинарных)
Дюже мудрено...

Я просто "размещал" очередной корабль в случайное свободное место, от некой точки вертикально или горизонтально... Если он не помещался - опять рандомил ту точку...
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Формирование массива кораблей из игры морской бой?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]