Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 14.11.2013, 08:45
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от alexan0308
Шо то не так
Аогоритм естественно!
А до этого само хранение...
Ответить с цитированием
  #22 (permalink)  
Старый 14.11.2013, 09:35
Профессор
Отправить личное сообщение для alexan0308 Посмотреть профиль Найти все сообщения от alexan0308
 
Регистрация: 11.04.2011
Сообщений: 207

Сообщение от ksa Посмотреть сообщение
Аогоритм естественно!
А до этого само хранение...
Согласен, не самый оптимальный. Он же навскидку. Может при разработке что то и упростится.
Зато алгоритм достаточно простой и легко реализуемый, и повода плакать я тут не вижу.

Если же у тебя есть по существу соображения, поделись.
Ответить с цитированием
  #23 (permalink)  
Старый 14.11.2013, 09:39
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от alexan0308
Может при разработке что то упростится.
Подход дилетантов...

Сообщение от alexan0308
Если же у тебя есть по существу соображения, поделись.
Не вижу смысла.
Это настоящее тестовое задание для новичков. Я его даю при приеме на работу новичкам т.с. с потенцией. Как правило на эту игру у них уходит не меньше месяца.

И смысл мне тут показавать варианты решений этого теста?
Ответить с цитированием
  #24 (permalink)  
Старый 14.11.2013, 09:44
Профессор
Отправить личное сообщение для alexan0308 Посмотреть профиль Найти все сообщения от alexan0308
 
Регистрация: 11.04.2011
Сообщений: 207

Сообщение от alexan0308 Посмотреть сообщение
Может при разработке что то и упростится.
Сообщение от ksa Посмотреть сообщение
Подход дилетантов...
Гонишь. Это обычная особенность мозга - что-то додумывать.

Сообщение от ksa Посмотреть сообщение
Я его даю при приеме на работу новичкам т.с. с потенцией. Как правило на эту игру у них уходит не меньше месяца.
С моим алгоритмом уйдет максимум три дня =)

Сообщение от ksa Посмотреть сообщение

И смысл мне тут показавать варианты решений этого теста?
А смысл тогда встревать тут? =) Понятно, что всегда можно сделать лучше, чем есть.
Ответить с цитированием
  #25 (permalink)  
Старый 14.11.2013, 09:47
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от alexan0308
Это обычная особенность мозга - что-то додумывать

Т.е. понятие "проектирование" тому мозгу не знакомо?

Сообщение от alexan0308
С моим алгоритмом уйдет максимум три дня =)
Покажи потом результат в разделе http://javascript.ru/forum/project/
Почитаем, что скажут другие форумчане.

Сообщение от alexan0308
А смысл тогда встревать тут?
Эо свободный форум - т.ч. "встреваю" где хочу...

Последний раз редактировалось ksa, 14.11.2013 в 09:49.
Ответить с цитированием
  #26 (permalink)  
Старый 14.11.2013, 10:34
Профессор
Отправить личное сообщение для alexan0308 Посмотреть профиль Найти все сообщения от alexan0308
 
Регистрация: 11.04.2011
Сообщений: 207

Сообщение от alexan0308 Посмотреть сообщение
Согласен, не самый оптимальный. Он же навскидку. Может при разработке что то и упростится. .
Хочешь сказать, додумывание - незнакомо твоему мозгу?
Я же не перед дядей на приеме на работу сижу, чтобы от и до проектировать. Тем более это не такая и сложная задача. Ее быстрее сделать, чем расписать
Ответить с цитированием
  #27 (permalink)  
Старый 14.11.2013, 10:37
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от alexan0308
Хочешь сказать, додумывание - незнакомо твоему мозгу?
Я не применяю "додумывание" при разработке приложений.

Сообщение от alexan0308
Тем более это не такая и сложная задача. Ее быстрее сделать, чем расписать
Я подожду те 3, обещаных тобой, дня...
Ответить с цитированием
  #28 (permalink)  
Старый 14.11.2013, 10:50
Профессор
Отправить личное сообщение для alexan0308 Посмотреть профиль Найти все сообщения от alexan0308
 
Регистрация: 11.04.2011
Сообщений: 207

Сообщение от ksa Посмотреть сообщение
Я не применяю "додумывание" при разработке приложений.
Я подожду те 3, обещаных тобой, дня...
Cerfuck, успеешь надеюсь? ))
Умныя мысля приходит опосля - народная мудрость ))
Ответить с цитированием
  #29 (permalink)  
Старый 22.11.2013, 10:18
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от alexan0308
14.11.2013, 09:44
С моим алгоритмом уйдет максимум три дня =)
Сегодня уже 22-е, есть что показать?
Ответить с цитированием
  #30 (permalink)  
Старый 22.11.2013, 17:53
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Цитата:
Когда я подумал об этом, мне пришло такое решение. Можно при создании корабля каждый обозначать своей цифрой ))) И после каждого выстрела пробегать весь массив и и искать клеточки с такой ЖЕ цифрой )) Ну и при попадании менять циферку.

Итак, три массива. Первый массив, например, корабли

0000001100
2220000003
0000000000 и т.д.

Второй - свободные клетки (цифра 0) , 1 - занято. Этот массив нужен только на этапе рандомного заполнения кораблями:
1111011111
1111011111
1111000011

Третий массив- выстрелы. В начале он полностью дублирует ПЕРВЫЙ массив. При попадании в пустое поле меняешь циферку на -1 ( и соотв. рисунок ) При попадании в корабль меняешь циферку на -2 ( соотв. рисунок ). Об убийстве корабля позже. Ты сначала это сделай ))
Ответить с цитированием
А как ты будешь проверять куда выстрелил игрок попал/нет?
Я бы наверное сделал так: (написал первое что пришло в голову, не ругаца)
var map = {
    "a": {
         1: 0,
         2: 0,
         3: 2,
         4: 0 
         ...
      },
     "b": {
         1: 0,
         2: 0,
         3: 2,
         4: 0
        ...
      }
     ...
}

Вот решил игрок стрельнуть по координатам a3, сразу смотрим попал или нет? если нет то отмечаем "мимо",
если да то узнаем сколько палуб у корабля по значению 1 == 1 палубному, 2 == 2х палубному и тд.
если однапалубный то просто отмечаем что убили, с дргуими чуть сложнее.

Например как в данной карте, при выстреле в a3 (или b3) мы проверяем что попали, определили 2х палубный корабль и тупо проверяем значения вокруг. то есть сначала по тому же самому обьекту сверяем a3 - 1 с a3 и a3 + 1 с а3 если не нашли то проверяем в соседних обьектах в данном случае b3, так как "a" - граница. Когда находим элемент просто присваиваем ему значение на 1 меньше (чтобы потом он не проверял окрестности).

Что касается генерации кораблей то тут нужно подумать но вполне решается 1 функцией, но я уже в пижаме)
__________________
Научу себя плохому
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста вычислить общую сумму 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