Cleaned up Game declarations.
authorMatt Mullins <mokomull@gmail.com>
Sat, 11 Jul 2009 22:13:42 +0000 (17:13 -0500)
committerMatt Mullins <mokomull@gmail.com>
Sat, 11 Jul 2009 22:13:42 +0000 (17:13 -0500)
Game.cpp
Game.h

index 2221c33..5552bfa 100644 (file)
--- a/Game.cpp
+++ b/Game.cpp
@@ -2,4 +2,26 @@
 #include "fns.h"
 #include <string>
 
+Game::Game() : mCurrentLevel(0), mScreen(0)
+{
+}
 
+Game::Game(SDL_Surface* screen) : mCurrentLevel(0), mScreen(screen)
+{
+}
+
+Game::~Game()
+{
+}
+
+Level* Game::getCurrentLevel() {
+       if (mCurrentLevel < mLevels.size()) {
+               return mLevels[mCurrentLevel];
+       } else {
+               return NULL;
+       }
+}
+
+int Game::getLevelIndex() {
+       return mCurrentLevel;
+}
diff --git a/Game.h b/Game.h
index 48f6a66..e0b9c1c 100644 (file)
--- a/Game.h
+++ b/Game.h
@@ -1,24 +1,46 @@
-#ifndef GAME
-#define GAME
+#ifndef __GAME_H__
+#define __GAME_H__
+
 #include "Level.h"
+
 #include <vector>
 #include <string>
-using namespace std;
 
+/**
+  High-level controller for the game
+
+  This class is tasked with the following:
+    - creating the SDL screen
+    - loading levels from appropriate locations
+    - switching levels as appropriate
+ */
 class Game
 {
-       public:
-       Game():mCurrentLevel(0) {}
-       Game(SDL_Surface *screen):mCurrentLevel(0),screen(screen) {}
-       ~Game() {}
-       void addLevel(Level level);
-       void removeLevel(string levelName);
-       void loadLevel(string levelName);
-       int currentLevel(){ return mCurrentLevel; }     bool init();
+public:
+       Game();
+       Game(SDL_Surface *screen);
+       ~Game();
+
+       /**
+         Gets the current level being played.
+         \return current level
+        */
+       Level* getCurrentLevel();
+
+       /**
+         Gets the index of the current level being played.
+         \return index of the current level
+        */
+       int getLevelIndex();
        
-       private:
-       int mCurrentLevel;
-       std::vector<Level> mLevels;
-       SDL_Surface *screen;
+private:
+       int mCurrentLevel; /**< current index */
+       std::vector<Level*> mLevels;
+       SDL_Surface *mScreen;
+
+       void addLevel(Level level);
+       void removeLevel(std::string levelName);
+       void loadLevel(std::string levelName);
 };
+
 #endif