Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.11.2013, 13:41
Новичок на форуме
Отправить личное сообщение для Cerfuck Посмотреть профиль Найти все сообщения от Cerfuck
 
Регистрация: 12.11.2013
Сообщений: 3

Помогите пожалуйста
Пишу морской бой на js. Я новичок. В общем не могу придумать алгоритмы. Корабли записаны в двумерном массиве. 0 - пустая клетка, в которой нет корабля и в нее не попадали. 1 - корабль. -1 - раненый корабль, -2 - убитый корабль, 2 - попадание мимо. Правильно ли я вообще мыслю? Я не могу сообразить как:
1. При обстреле понят уже убит корабль или нет???
2. Какие проверки сделать при рандомной расстановке??? Вообще как рандомную расстановку сделать.
Ответить с цитированием
  #2 (permalink)  
Старый 12.11.2013, 14:37
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от Cerfuck
Правильно ли я вообще мыслю?
Нет.
При выстреле нужно знать "ранил" или "подбил". Твоя "привязка" к игровому полю не верна.

Вообще "Морской бой" это программка т.с. на тест именно "организации данных", а не умении составлять алгоритмы...

Сообщение от Cerfuck
Вообще как рандомную расстановку сделать.
ППЦ!
Значит рано тебе еще такие программки писать. Начни с чего-то более простого...
Например "Угадай число".
Ответить с цитированием
  #3 (permalink)  
Старый 12.11.2013, 14:47
Новичок на форуме
Отправить личное сообщение для Cerfuck Посмотреть профиль Найти все сообщения от Cerfuck
 
Регистрация: 12.11.2013
Сообщений: 3

Сообщение от ksa Посмотреть сообщение
Нет.
При выстреле нужно знать "ранил" или "подбил". Твоя "привязка" к игровому полю не верна.

Вообще "Морской бой" это программка т.с. на тест именно "организации данных", а не умении составлять алгоритмы...

ППЦ!
Значит рано тебе еще такие программки писать. Начни с чего-то более простого...
Например "Угадай число".
Подскажи пожалуйста тогда, как правильно организовать данные? А по поводу рандома я имею представление, пару лет назад писал пятнашки на delphi, но именно в данной ситуации не могу придумать проверки для правильной расстановки и наверное опять же из-за не правильной организации данных.
Ответить с цитированием
  #4 (permalink)  
Старый 12.11.2013, 14:50
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от Cerfuck
Подскажи пожалуйста тогда, как правильно организовать данные?
Тогда в чем смысл именно твоего участия?

Сообщение от Cerfuck
но именно в данной ситуации не могу придумать проверки для правильной расстановки
Вот я и пишу
Сообщение от ksa
рано тебе еще такие программки писать
Ответить с цитированием
  #5 (permalink)  
Старый 12.11.2013, 15:14
Профессор
Отправить личное сообщение для alexan0308 Посмотреть профиль Найти все сообщения от alexan0308
 
Регистрация: 11.04.2011
Сообщений: 207

Сообщение от Cerfuck Посмотреть сообщение
Вообще как рандомную расстановку сделать.
Сообщение от ksa Посмотреть сообщение
Значит рано тебе еще такие программки писать. Начни с чего-то более простого...
Тут на самом дела не так просто. Нужно же чтобы разные корабли не задевали друг друга. Нужно затылок почесать.

Но все решаемо, люди сто раз делали, даже на этом форуме, просто поищи. А вообще, как я понимаю, этот раздел для готовых скриптов.
Ответить с цитированием
  #6 (permalink)  
Старый 12.11.2013, 15:25
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от alexan0308
Тут на самом дела не так просто.
Так и пишу - начни с чего по-проще... Если эта генерация сложна.

Сообщение от alexan0308
А вообще, как я понимаю, этот раздел для готовых скриптов.
Именно так.
Ответить с цитированием
  #7 (permalink)  
Старый 12.11.2013, 16:08
Профессор
Отправить личное сообщение для alexan0308 Посмотреть профиль Найти все сообщения от alexan0308
 
Регистрация: 11.04.2011
Сообщений: 207

Сообщение от alexan0308 Посмотреть сообщение
Но все решаемо
Мне сначала показалось сложным, потому что кажется, что нужно крутить эти корабли. Но ничто не мешает считать корабли вида
***
и

*
*
*
разными кораблями и рандомно выбирать тип.
Создай функции типа add_korably_3_gorizontal(x,y) и add_korably_3_vertikal(x,y), где x, y крайняя точка корабля. Эта точка берется рандомно до тех пор, пока все клетки корабля, и примыкающие к ним, не лягут на свободные клетки (и не вылазиют за поле).

При этом сразу заполняешь массив занятыми клетками:

Сообщение от Cerfuck Посмотреть сообщение
Корабли записаны в двумерном массиве. 0 - пустая клетка, в которой нет корабля и в нее не попадали. 1 - корабль. -1 - раненый корабль, -2 - убитый корабль, 2 - попадание мимо. Правильно ли я вообще мыслю?
Удобнее наверно сделать ТРИ таких массива. В одном хранить свободные клетки, во втором корабли, а в третьем выстрелы.

Последний раз редактировалось alexan0308, 12.11.2013 в 16:30.
Ответить с цитированием
  #8 (permalink)  
Старый 12.11.2013, 16:26
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от alexan0308
Создай функции типа add_korably_3_gorizontal(x,y) и add_korably_3_vertikal(x,y), где x, y крайняя точка.
Пипец!
Ответить с цитированием
  #9 (permalink)  
Старый 12.11.2013, 16:28
Профессор
Отправить личное сообщение для alexan0308 Посмотреть профиль Найти все сообщения от alexan0308
 
Регистрация: 11.04.2011
Сообщений: 207

Сообщение от ksa Посмотреть сообщение
Пипец!
Ну дык же я нубу новичку объяснял. Чтобы понятнее было.
Ответить с цитированием
  #10 (permalink)  
Старый 12.11.2013, 16:34
Новичок на форуме
Отправить личное сообщение для Cerfuck Посмотреть профиль Найти все сообщения от Cerfuck
 
Регистрация: 12.11.2013
Сообщений: 3

Сообщение от alexan0308 Посмотреть сообщение
Ну дык же я нубу новичку объяснял. Чтобы понятнее было.
Ну я же не настолько нуб. Работаю верстальщиком. Опыт есть.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста вычислить общую сумму katalizator Общие вопросы Javascript 15 22.03.2013 16:26
Пожалуйста помогите сделать проверку выполнения vk Dodik Общие вопросы Javascript 3 01.03.2013 16:49
Помогите пожалуйста правильно написать скрипт raffx Events/DOM/Window 17 16.10.2012 20:31
Помогите пожалуйста я новичок! NemzevDanil Элементы интерфейса 0 02.02.2011 00:00
Помогите, пожалуйста zashibis Общие вопросы Javascript 1 02.12.2008 14:07