summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJustin Worthe <justin.worthe@gmail.com>2015-05-25 22:00:39 +0200
committerJustin Worthe <justin.worthe@gmail.com>2015-05-25 22:00:39 +0200
commit90483e4f3d0f7b95b3846bf1d0ff410ebd930011 (patch)
treecfc5a2ea5002d981caa51313662bc4b47099a0f7 /src
parente6a53bb57e7c2e5ce17cdc10a51b40cd83ceb85e (diff)
Made output random
Diffstat (limited to 'src')
-rw-r--r--src/spacebot.cpp54
1 files changed, 51 insertions, 3 deletions
diff --git a/src/spacebot.cpp b/src/spacebot.cpp
index 0fc39b1..24a5d1e 100644
--- a/src/spacebot.cpp
+++ b/src/spacebot.cpp
@@ -1,12 +1,60 @@
#include "spacebot.h"
+#include <random>
Spacebot::Spacebot(const std::string& outputPath)
- : mapStream(outputPath+"map.txt", std::ifstream::in)
- , resultStream(outputPath+"move.txt", std::ofstream::out)
+ : mapStream(outputPath+"/map.txt", std::ifstream::in)
+ , resultStream(outputPath+"/move.txt", std::ofstream::out)
{
+ std::srand(time(0));
}
void Spacebot::writeNextMove()
{
- resultStream << "Shoot" << std::endl;
+ Move move = chooseMove();
+ writeMove(move);
}
+
+Move Spacebot::chooseMove()
+{
+ int min = static_cast<int>(Move::NOTHING);
+ int max = static_cast<int>(Move::BUILD_SHIELD);
+ std::random_device rd;
+ std::mt19937 gen(rd());
+ std::uniform_int_distribution<> dis(min, max);
+ return static_cast<Move>(dis(gen));
+}
+
+void Spacebot::writeMove(const Move& move)
+{
+ switch (move)
+ {
+ case Move::NOTHING:
+ resultStream << "Nothing";
+ break;
+ case Move::MOVE_LEFT:
+ resultStream << "MoveLeft";
+ break;
+ case Move::MOVE_RIGHT:
+ resultStream << "MoveRight";
+ break;
+ case Move::SHOOT:
+ resultStream << "Shoot";
+ break;
+ case Move::BUILD_ALIEN_FACTORY:
+ resultStream << "BuildAlienFactory";
+ break;
+ case Move::BUILD_MISSILE_CONTROLLER:
+ resultStream << "BuildMissileController";
+ break;
+ case Move::BUILD_SHIELD:
+ resultStream << "BuildShield";
+ break;
+ default:
+ resultStream << "MoveLeft";
+ }
+
+ resultStream << std::endl;
+ resultStream.flush();
+ return;
+}
+