Microsoft Interview Question

How would you design and implement battleship?