Делаю получается морской бой, реализовал убийство корабля если он занимает 1 клетку, а вот если занимает 2 клетки, то выходит так что счетчик обновляется всегда на 0, и я не убиваю его а просто попадаю, может есть у кого мысли как сделать так чтобы счетчик не обновлялся на 0?
Когда я делаю второй выстрел я обновляю координаты (coordinates) на новые
let ship1 = [(x: 9, y: 9)] // координаты первого корабля
let ship2 = [(x: 5, y: 9), (x: 6, y: 9)] // координаты второго корабля
let ships = [ship1, ship2] // объединение кораблей в один массив
var shots = 0 // выстрелы
let coordinates: (x: Int, y: Int) = (5,9) // координаты выстрела
for ship in ships {
for cell in ship {
switch coordinates {
case let (x, y) where x == cell.x && y == cell.y:
shots += 1
if shots == ship.count {
print("Ship \(ship) down!")
} else {
print("Ship \(ship) wounded!")
}
default:
break
}
}
}
shots == 0 ? print("Missed") : print()