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); }
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); }
public int result() { int distanceBefore = snake.distanceToFood(); int result = 0; if (distanceBefore<) }