Exemple #1
0
        public int getResult(NeuralNetwork nn, SnakeGame temp)
        {
            int result = 0;
            int runs   = 0;

            while (temp.gameOver == false)
            {
                if (runs > 5)
                {
                    return(result);
                }
                runs++;
                int distanceBefore = temp.distanceToFood();
                temp.moveHead(nn.calculateDirection(temp.getInputs()));

                if (temp.gameOver == true)
                {
                    return(result);
                }
                else
                {
                    result++;
                    if (temp.distanceToFood() < distanceBefore)
                    {
                        result = result + 5;
                    }
                }
            }
            return(result);
        }
Exemple #2
0
        public double resultOfMove(moves move)
        {
            int       distanceBefore = distanceToFood();
            int       scoreBefore    = score;
            moves     closestMove    = moves.Forward;
            SnakeGame temp           = (SnakeGame)this.Clone();

            temp.moveHead(move);
            int scoreAfter = temp.score;

            if (temp.gameOver == true)
            {
                return(-1.00);
            }
            if (scoreAfter > scoreBefore)
            {
                return(5.00);
            }
            if (temp.distanceToFood() < distanceBefore)
            {
                return(1.00);
            }

            return(0);
        }
Exemple #3
0
        public int result()
        {
            int distanceBefore = snake.distanceToFood();
          
            int result = 0;
            if (distanceBefore<)

        }