28#ifndef OBJECTSBRAINSPME_H
29#define OBJECTSBRAINSPME_H
32#include "MemoryManager.h"
35class ArtificialNeuralNet;
38class Brain :
public CMemPME
43 virtual Sint32 think(Actor*, Sint32&, Sint32&, GameField*);
44 void getName(
string &);
45 Sint32 getTargetType();
53class BrainEvolved :
public Brain
56 explicit BrainEvolved();
58 virtual Sint32 think(Actor*, Sint32&, Sint32&, GameField*) = 0;
59 Sint32 load(
string sCDCFile =
"",
string sXMLName =
"");
60 Sint32 setFitness(
double);
62 ArtificialNeuralNet* getNeuralNet();
64 ArtificialNeuralNet* pNeuralNet;
65 Sint32 iNNInput, iNNOutput;
70class BrainPacManHuman :
public Brain
73 explicit BrainPacManHuman();
74 Sint32 think(Actor*, Sint32&, Sint32&, GameField*);
76class BrainPacMan :
public Brain
79 explicit BrainPacMan();
80 Sint32 think(Actor*, Sint32&, Sint32&, GameField*);
84class BrainRedGhost :
public Brain
87 explicit BrainRedGhost();
88 Sint32 think(Actor*, Sint32&, Sint32&, GameField*);
90class BrainEvolvedRedGhost :
public BrainEvolved
93 explicit BrainEvolvedRedGhost(Sint32);
94 Sint32 think(Actor*, Sint32&, Sint32&, GameField*);
98class BrainPinkGhost :
public Brain
101 explicit BrainPinkGhost();
102 Sint32 think(Actor*, Sint32&, Sint32&, GameField*);
104class BrainEvolvedPinkGhost :
public BrainEvolved
107 explicit BrainEvolvedPinkGhost(Sint32);
108 Sint32 think(Actor*, Sint32&, Sint32&, GameField*);
112class BrainBlueGhost :
public Brain
115 explicit BrainBlueGhost();
116 Sint32 think(Actor*, Sint32&, Sint32&, GameField*);
118class BrainEvolvedBlueGhost :
public BrainEvolved
121 explicit BrainEvolvedBlueGhost(Sint32);
122 Sint32 think(Actor*, Sint32&, Sint32&, GameField*);
126class BrainOrangeGhost :
public Brain
129 explicit BrainOrangeGhost();
130 Sint32 think(Actor*, Sint32&, Sint32&, GameField*);
132class BrainEvolvedOrangeGhost :
public BrainEvolved
135 explicit BrainEvolvedOrangeGhost(Sint32);
136 Sint32 think(Actor*, Sint32&, Sint32&, GameField*);