In terms of the Model-View-Controller concept, my Game class is the model. It does not have access to either the controller or the display, which makes it independent of them. The reason that's important is that changes to the controller or the display do not affect the model.
I am intentionally not saying much about this class because it should be relatively easy to design and implement. Generally speaking, the model will have a class to represent each main component of the game. In terms of Battleship, that means at least a Board and a Ship class.