Сообщение от Cerfuck
|
Я сейчас хочу сделать выстрелы. То есть я ранил корабль. Это понятно как сделать - взять координату клетки на странице, сравнить ее с массивом, если в этой клетке стоит корабль то помечаем эту клетку, как раненую. А дальше? допустим 4 палубный корабль. ранили его 4 раза и как программа поймет, что он убит. вот это не могу понять.
|
Когда я подумал об этом, мне пришло такое решение. Можно при создании корабля каждый обозначать своей цифрой ))) И после каждого выстрела пробегать весь массив и и искать клеточки с такой ЖЕ цифрой )) Ну и при попадании менять циферку.
Итак, три массива. Первый массив, например, корабли
0000001100
2220000003
0000000000 и т.д.
Второй - свободные клетки (цифра 0) , 1 - занято. Этот массив нужен только на этапе рандомного заполнения кораблями:
1111011111
1111011111
1111000011
Третий массив- выстрелы. В начале он полностью дублирует ПЕРВЫЙ массив. При попадании в пустое поле меняешь циферку на -1 ( и соотв. рисунок ) При попадании в корабль меняешь циферку на -2 ( соотв. рисунок ). Об убийстве корабля позже. Ты сначала это сделай ))