override public void call() { Console.WriteLine("NeuroBot Called"); double[] inputs = UnpreparedTrainingsset.boardToNeuronInput(this.myGame.Gameboard, this.myGame.turn); int[] move = UnpreparedTrainingsset.NeuronOutputToMove(this.Brain.calculateForInput(inputs)); //Console.WriteLine("doing"+"|"+move[1]+"|"+move[2]); myGame.MakeMove((int)move[0], (int)move[1], this.Color); }
public int[] getBestMoveAccordingToTestSet(bool?[,] board, bool turn) { TrainingSet t = this.Brain.trainingsset; double[] input = UnpreparedTrainingsset.boardToNeuronInput(board, turn); int i = 0; while (i < t.inputs.Length) { if (input.SequenceEqual(t.inputs[i])) { return(UnpreparedTrainingsset.NeuronOutputToMove(t.results[i])); } i++; } return(new int[] { -1, -1 }); }