В принципе у меня есть некоторые структуры типа Ship, которые собираются идти на доску, которая может иметь переменную ширину и высоту. Информация о кораблях считывается из файла, и мне просто нужно знать лучший способ убедиться, что ни один из кораблей не перекрывается.алгоритм для поиска перекрытий
Вот структура корабля:
int x // x position of first part of ship
int y // y position of first part of ship
char dir // direction of the ship, either 'N','S','E' or 'W'
int length // length of the ship
Кроме того, что бы быть хорошим способом для обработки направления. Что-то более чистое, чем использование оператора switch и использование другого условия для каждого направления.
Любая помощь была бы принята с благодарностью!
Вам нужно всего лишь 2 направления (например, на юг и восток), если сама ориентация не имеет значения. –
Ориентация считывается из файла, поэтому может не обязательно содержать верхнюю или самую левую часть корабля. – Gary
Это похоже на игру «Броненосец», не так ли? – erelender