Chess en jess 3
Hola, respecto al código que me facilitaste el otro día tengo alguna pregunta más:
(defrule move-1
?p <- (pieza (name caballo)
(¿x?x)
(¿y?y))
=>
(duplicate ?p (parent p)
(x (+ ?x 1))
(y (+ ?y 2))))
)
En la regla anterior veo que utilizas duplicate (esto imagino que lo que hace) es duplicar el caballo en la nueva posición. ¿Cómo puedo eliminar la pieza de la vieja posición...? O esto no sería necesario...
Suponiendo que tengo que calcular los diferentes movimientos del caballo, me comentabas que poniendo prioridades se comen a los peones secuencialmente... No entiendo muy bien esto...
También me comentas que con el slot parent puedo obtener la secuencia de movimientos... Realmente, que hace el slot parent... Creo que es como la variable de información de la posición anterior o algo así... Pero no lo tengo muy claro...
Finalmente, cuál es la mejor forma de simular la colocación de las piezas (un caballo y cinco peones) sobre el tablero. Utilizando petición de variables, ¿existe alguna función aleatoria...?
Muchas gracias de antemano y espero que puedas ayudarme.
R.
(defrule move-1
?p <- (pieza (name caballo)
(¿x?x)
(¿y?y))
=>
(duplicate ?p (parent p)
(x (+ ?x 1))
(y (+ ?y 2))))
)
En la regla anterior veo que utilizas duplicate (esto imagino que lo que hace) es duplicar el caballo en la nueva posición. ¿Cómo puedo eliminar la pieza de la vieja posición...? O esto no sería necesario...
Suponiendo que tengo que calcular los diferentes movimientos del caballo, me comentabas que poniendo prioridades se comen a los peones secuencialmente... No entiendo muy bien esto...
También me comentas que con el slot parent puedo obtener la secuencia de movimientos... Realmente, que hace el slot parent... Creo que es como la variable de información de la posición anterior o algo así... Pero no lo tengo muy claro...
Finalmente, cuál es la mejor forma de simular la colocación de las piezas (un caballo y cinco peones) sobre el tablero. Utilizando petición de variables, ¿existe alguna función aleatoria...?
Muchas gracias de antemano y espero que puedas ayudarme.
R.
1 respuesta
Respuesta de rmg267
1