BoringAutopilot.java
package me.schawe.multijsnake.snake.ai;
import me.schawe.multijsnake.snake.GameState;
import me.schawe.multijsnake.snake.Move;
import me.schawe.multijsnake.snake.Snake;
import java.util.List;
import java.util.Optional;
import java.util.Random;
public class BoringAutopilot implements Autopilot {
private final Random random;
public BoringAutopilot() {
random = new Random();
}
@Override
public Move suggest(GameState gameState, Snake snake) {
if (snake.getHead().getY() == 0 && isSafeMove(gameState, snake, Move.left)) {
return Move.left;
} else if(isSafeMove(gameState, snake, Move.down)) {
return Move.down;
} else if (snake.getHead().getY() == 1 && isSafeMove(gameState, snake, Move.right)) {
return Move.right;
} else if (isSafeMove(gameState, snake, Move.up)){
return Move.up;
} else {
return Move.right;
}
}
@Override
public String generateName() {
String[] names = {
"Rhombus", "Trapezoid", "Trapezium", "Hexagon", "Pentagon", "Octagon",
"Heptagon", "Nonagon", "Decagon", "Octahedron", "Dodecahedron", "Icosahedron",
"Oloid", "Sphericon", "Hyperboloid", "Isochrone", "Horopter", "Syntractrix",
"Trochoid", "Nephroid"
};
int r = random.nextInt(names.length);
return names[r];
}
}