Ideation Project DA Ruwe
This program provides us with an agent based simulation of an ideation game.
|
Provides the structures and methods for a single ideation game. More...
Public Member Functions | |
void | play () |
Play the game. | |
void | addNewAgent (Agent addi) |
Adds a new Agent to the game. | |
Incentive | getIncentive () |
Package Functions | |
Game () | |
internal Constructor | |
Game (int gameLength) | |
internal Constructor | |
Game (Incentive incentive, Environment world, Vector< heuristic > initialTypes, int gameLength, int repetition) | |
external Constructor |
This class is invoked by Test Case ideation.TestCase and then runs a corresponding ideation game and stores all the related data. If a single game is wanted a main method can be added here.
ideation.Game.Game | ( | ) | [package] |
this should not be called from outside, several crucial parameters would be missing.
ideation.Game.Game | ( | int | gameLength | ) | [package] |
this should not be called from outside, several crucial parameters would be missing.
gameLength | the length of the game until it is ended. |
ideation.Game.Game | ( | Incentive | incentive, |
Environment | world, | ||
Vector< heuristic > | initialTypes, | ||
int | gameLength, | ||
int | repetition | ||
) | [package] |
Creates a game with initial Agents who have the heuristics as specified in initialTypes.
incentive | the incentive scheme ideation.Incentive |
world | the environment ideation.Environment |
initialTypes | a vector with the desired types of the agents that will be created at the start of the game. ideation.Agent |
gameLength | the length of the game until it is ended. |
repetition | in a TestCase ideation.TestCase with multiple games the number of this game. |
void ideation.Game.addNewAgent | ( | Agent | addi | ) |
This method should ONLY be called by the environment! It should always be invited computer players.
addi | the new agent. |
void ideation.Game.play | ( | ) |
The game is played, that means
A central idea is that all information is redundantly recorded in the period it is connected to and in the agent it is connected to. This means that we have to be careful that both have the information they need recorded at all times, but saves huge amounts of iterations in the other classes and makes things more neat. The only place where it does not look neat is this method.