00001
00002
00003
00004
00005
00006
00007
00008 #ifndef GAMELOGIC_H
00009 #define GAMELOGIC_H
00010
00011 #include "GameState.h"
00012 #include "../Physics/Physics.h"
00013 #include "INotifiable.h"
00014 #include "../Model/Ball.h"
00015 #include "../Model/Stick.h"
00016 #include "../Model/Table.h"
00017 #include "../Model/Scene.h"
00018 #include <vector>
00019
00020 using namespace std;
00021
00022 class GameLogic: public INotifiable
00023 {
00024 private:
00025 Physics *physics;
00026 Scene *scene;
00027 GameState *state;
00028 vector<Ball *> balle;
00029
00030
00031 void makeNewTable();
00032 void resetTable();
00033
00034 public:
00035 GameLogic(Physics *physicsNew=NULL,Scene *sceneNew=NULL)
00036 {
00037 physics=physicsNew;
00038 scene = sceneNew;
00039 state=GameState::getInstance();
00040 }
00041 virtual ~GameLogic();
00042
00043 void processNotification(ISubject *subject);
00044
00045 };
00046
00047 #endif