nsnake
Classic snake game for the terminal
Public Member Functions | List of all members
GameStateGame Class Reference

This represents the actual game taking place. More...

#include <GameStateGame.hpp>

Inheritance diagram for GameStateGame:
Inheritance graph
[legend]
Collaboration diagram for GameStateGame:
Collaboration graph
[legend]

Public Member Functions

void load (int stack=0)
 Constructs everything necessary for the game.
 
int unload ()
 Destroys anything builded during the game.
 
GameState::StateCode update ()
 Updates all possible things on the game. More...
 
void draw ()
 Shows everything onscreen;.
 

Additional Inherited Members

- Public Types inherited from GameState
enum  StateCode {
  QUIT, CONTINUE, MAIN_MENU, GAME_START,
  GAME_OVER
}
 All possible transitions between states. More...
 

Detailed Description

This represents the actual game taking place.

Here is defined all the game logic and rules.

For developers:

Before you continue, take a deep breath.

Done? OK. This is the most complex class of this game and it uses pretty much every other class on the project.

To understand it you must have a lot of patience and that "I'll see what it means later" feeling.

Don't try to understand everything at once! Try to abstract a litte and follow the code thinking only in terms of what you think it's doing.

After you've quite guessed what a method does, start looking into the classes that it uses.

Definition at line 29 of file GameStateGame.hpp.

Member Function Documentation

GameState::StateCode GameStateGame::update ( )
virtual

Updates all possible things on the game.

Returns
A status code indicating what to do (should we change states/quit the game?). The codes are defined on GameState.hpp.

Implements GameState.

Definition at line 47 of file GameStateGame.cpp.


The documentation for this class was generated from the following files: