Показать сообщение отдельно
  #16 (permalink)  
Старый 13.11.2013, 16:22
Профессор
Отправить личное сообщение для alexan0308 Посмотреть профиль Найти все сообщения от alexan0308
 
Регистрация: 11.04.2011
Сообщений: 207

Сообщение от Cerfuck Посмотреть сообщение
Я сейчас хочу сделать выстрелы. То есть я ранил корабль. Это понятно как сделать - взять координату клетки на странице, сравнить ее с массивом, если в этой клетке стоит корабль то помечаем эту клетку, как раненую. А дальше? допустим 4 палубный корабль. ранили его 4 раза и как программа поймет, что он убит. вот это не могу понять.
Когда я подумал об этом, мне пришло такое решение. Можно при создании корабля каждый обозначать своей цифрой ))) И после каждого выстрела пробегать весь массив и и искать клеточки с такой ЖЕ цифрой )) Ну и при попадании менять циферку.

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

0000001100
2220000003
0000000000 и т.д.

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

Третий массив- выстрелы. В начале он полностью дублирует ПЕРВЫЙ массив. При попадании в пустое поле меняешь циферку на -1 ( и соотв. рисунок ) При попадании в корабль меняешь циферку на -2 ( соотв. рисунок ). Об убийстве корабля позже. Ты сначала это сделай ))
Ответить с цитированием