summaryrefslogtreecommitdiff
path: root/src/spacebot.cpp
diff options
context:
space:
mode:
authorJustin Worthe <justin.worthe@gmail.com>2015-08-02 19:01:01 +0200
committerJustin Worthe <justin.worthe@gmail.com>2015-08-02 19:01:01 +0200
commit87ef7e90829053b7bc336f7316c3facb6c51e781 (patch)
tree0dbe68a138211d0099c602a97efc53b65bf8ffc8 /src/spacebot.cpp
parent2e6ecf423c8228ac8de4badf4fc2d037a876b7ff (diff)
Reading brain in from a file
Diffstat (limited to 'src/spacebot.cpp')
-rw-r--r--src/spacebot.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/spacebot.cpp b/src/spacebot.cpp
index 1f8f2b8..418756c 100644
--- a/src/spacebot.cpp
+++ b/src/spacebot.cpp
@@ -3,9 +3,9 @@
#include "brain/neural_network.h"
#include <fstream>
-Spacebot::Spacebot(std::string outputPath)
+Spacebot::Spacebot(std::string outputPath, std::string brainFilename)
: _outputFilename(outputPath+"/move.txt"),
- _networkConfigFilename("brain.nn"),
+ _brainFilename(brainFilename),
_gameState(std::ifstream(outputPath+"/map.txt"))
{
}
@@ -20,15 +20,10 @@ Move Spacebot::chooseMove()
{
auto sensorInputs = _gameState.toBitArray();
- NeuralNetwork network(std::ifstream(_networkConfigFilename),
- sensorInputs.size(),
+ NeuralNetwork network(std::ifstream(_brainFilename),
+ sensorInputs,
static_cast<int>(Move::BUILD_SHIELD));
- for (int i=0; i<sensorInputs.size(); ++i)
- {
- network.setInput(i, sensorInputs[i] ? 1 : 0);
- }
-
int moveInt = network.findMaxOutputIndex();
return static_cast<Move>(moveInt);
}