示例#1
0
        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);
        }
示例#2
0
        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 });
        }