Sí, pero pon el código completo funcionando en jsfiddle, para que cualquiera pueda probarlo abriendo simplemente el enlace. No requiere registrarse para guardar códigos, simplemente aprieta el "save" de arriba a la izquierda.
Y cuidado, las pruebas las haré en varias coordenadas, buscando puntos flacos. Por ejemplo, si pongo la posición inicial del jugador en [1,1], en la línea 24 de mi enlace jsfiddle con el juego, tu algoritmo obtiene 32 puntos, que es la mitad de los puntos totales.
Tu algoritmo es correcto, pero en cuanto a puntuación, te pueden batir. No obstante ser el primero en resolver un ejercicio suele tener mayor mérito xd. Si quieres, puedes reenviar tu solucion tantas veces como quieras, en la lista de resultados utilizaré tu último envío.
Por otro lado, y como posible consejo a seguir, se puede sacar todo el código aparte, y utilizarlo dentro del método IA de tron. En realidad sólo se necesitaría calcular el mejor camino una sola vez.
Así que un esqueleto de IA podría ser:
Código Javascript
:
Ver originalTRON.prototype.ia=function()
{
if (camino==null)
{
camino=crearCamino(copia de posicion, copia de mapa);
}
//Código para procesar el objeto "camino" con el
//objetivo de devolver la mejor direccion en esta llamada
}
La variable camino y la función crearCamino habría que declararlas globalmente, arriba del todo, como primera línea de todo el javascript, para que sean visibles dentro de TRON.