From 550caeee11086bd56db69176b3149ddfa160ee30 Mon Sep 17 00:00:00 2001 From: Justin Worthe Date: Sat, 17 Oct 2015 17:02:24 +0200 Subject: Reverted to a simple decision tree Turns out it's much easier to write a bot by hand with if statements. --- src/spacebot.cpp | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'src/spacebot.cpp') diff --git a/src/spacebot.cpp b/src/spacebot.cpp index 15f2221..17d20b5 100644 --- a/src/spacebot.cpp +++ b/src/spacebot.cpp @@ -20,12 +20,23 @@ void Spacebot::writeNextMove() Move Spacebot::chooseMove() { auto sensorInputs = _gameState.toBitArray(); - - NeuralNetwork network(std::ifstream(_brainFilename), - sensorInputs, - 7); - return static_cast(network.findMaxOutputIndex()); + if (!sensorInputs.at(51) || !sensorInputs.at(53)) + { + return Move::BUILD_SHIELD; + } + else if (sensorInputs.at(55)) + { + return Move::SHOOT; + } + else if (sensorInputs.at(60) && !sensorInputs.at(59)) + { + return Move::BUILD_MISSILE_CONTROLLER; + } + else + { + return Move::NOTHING; + } } void Spacebot::writeMove(const Move& move) -- cgit v1.2.3