diff options
-rw-r--r-- | include/game_state.h | 21 | ||||
-rw-r--r-- | include/spacebot.h | 10 | ||||
-rw-r--r-- | src/main.cpp | 3 | ||||
-rw-r--r-- | src/spacebot.cpp | 9 |
4 files changed, 32 insertions, 11 deletions
diff --git a/include/game_state.h b/include/game_state.h new file mode 100644 index 0000000..abb2efa --- /dev/null +++ b/include/game_state.h @@ -0,0 +1,21 @@ +#pragma once + +#include "alien.h" +#include "enemy_bullet.h" +#include "player_missile.h" +#include "shield.h" +#include "spaceship.h" +#include <vector> +#include <iostream> + +class GameState +{ +public: + GameState(const std::istream& mapFile){} +private: + std::vector<Alien> aliens; + std::vector<EnemyBullet> bullets; + std::vector<PlayerMissile> missiles; + std::vector<Shield> shields; + std::vector<Spaceship> spaceships; +}; diff --git a/include/spacebot.h b/include/spacebot.h index a5c23c2..b152197 100644 --- a/include/spacebot.h +++ b/include/spacebot.h @@ -1,16 +1,16 @@ #pragma once -#include <iostream> -#include <fstream> +#include <string> #include "move.h" +#include "game_state.h" class Spacebot { public: - Spacebot(const std::string& outputPath); + Spacebot(std::string outputPath); void writeNextMove(); private: - std::ifstream mapStream; - std::ofstream resultStream; + std::string outputPath; + GameState gameState; void writeMove(const Move& move); Move chooseMove(); }; diff --git a/src/main.cpp b/src/main.cpp index 1621ba8..578620c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -10,8 +10,7 @@ int main(int argc, char* argv[]) return 1; } - std::string outputFolder = argv[1]; - Spacebot bot(outputFolder); + Spacebot bot(argv[1]); bot.writeNextMove(); return 0; diff --git a/src/spacebot.cpp b/src/spacebot.cpp index f2fb95a..b297eb3 100644 --- a/src/spacebot.cpp +++ b/src/spacebot.cpp @@ -1,12 +1,12 @@ #include "spacebot.h" #include <random> +#include <fstream> #include <string> -Spacebot::Spacebot(const std::string& outputPath) - : mapStream(outputPath+"/map.txt", std::ifstream::in) - , resultStream(outputPath+"/move.txt", std::ofstream::out) +Spacebot::Spacebot(std::string outputPath) + : outputPath(std::move(outputPath)), + gameState(std::ifstream(outputPath+"/map.txt", std::ifstream::in)) { - std::srand(time(0)); } void Spacebot::writeNextMove() @@ -27,6 +27,7 @@ Move Spacebot::chooseMove() void Spacebot::writeMove(const Move& move) { + std::ofstream resultStream(outputPath+"/move.txt"); switch (move) { case Move::NOTHING: |