viernes, 4 de mayo de 2007

p5: no me pasa las pruebas, ¿qué hago mal?

La respuesta tradicional es "pon trazas".
El comportamiento del simulador es lo bastante complejo como para que
uno se pierda con facilidad.
Sólo unas trazas enfocadas en cada cosa pueden ayudar a "ver".

Por ejemplo, en Zorro,
puede ser muy útil tener una traza específica para el método encontrarComida

private final static Logger LOGGER_COMIDA =
Logger.getLogger("mundovirtual.Zorro.encontrarComida");

Aunque hay mucha libertad,
este podría ser un ejemplo de trazas cuando se ejecuta el TestAnimal

mundovirtual.Zorro.encontrarComida [info]: zorro <5, 5> [1] :: encontrarComida(..., %lt;5, 5>)
mundovirtual.Zorro.encontrarComida [finer]: busca en <6, 5>
mundovirtual.Zorro.encontrarComida [finer]: busca en <6, 4>
mundovirtual.Zorro.encontrarComida [finer]: busca en <4, 4>
mundovirtual.Zorro.encontrarComida [fine]: encontrado: conejo <4, 4> [0]
mundovirtual.Zorro.encontrarComida [finer]: busca en <6, 6>
mundovirtual.Zorro.encontrarComida [finer]: busca en <4, 5>
mundovirtual.Zorro.encontrarComida [finer]: busca en <4, 6>
mundovirtual.Zorro.encontrarComida [finer]: busca en <5, 6>
mundovirtual.Zorro.encontrarComida [finer]: busca en <5, 4>
mundovirtual.Zorro.encontrarComida [info]: encontrarComida devuelve <4, 4>

no olvides que la búsqueda es aleatoria:
en cada llamada se visitan las posiciones adyacentes en un orden diferente

No hay comentarios: