Refactored to make the battle code pretty readable. Now handles multiple ships.