Controller refers to overall control of the program, not to an individual control that appears on the screen (like in Java or VisualBasic). The controller knows about both the model (implemented in the Game class) and the display. It gets commands from the user via the display. It is important not to make the controller dependent on features of a particular kind of display (a mouse, for instance) because that makes it more difficult to change displays. Also, it should be relatively easy to add displays or distribute the controller and displays across different machines.
pGame->tick(); pDisplay->tick(); cmd = pDisplay->getCmd(); doCmd(cmd); pDisplay->update(); pDisplay->render();At this point the update function doesn't do anything, and the render function does both updating (getting current info from the model) and drawing.