Показать сообщение отдельно
  #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.
Ответить с цитированием