Comunicaciones
Prctica Obligatoria
1. ndice
1. ndice .......................................... 2
2. Introduccin .. 3
5. Conclusiones ....................................................................... 8
nexos
A.1) Resultados de los juegos ..................................... 9
Domino2player.clp
Domino4player.clp
Jugada1.dat
Jugada3.dat
Jugada42.dat
2
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
2. Introduccin
Nuestra prctica consiste en la realizacin de un juego, el domin. Para el de-
sarrollo de la misma hemos utilizado la versin de CLIPS en java, Jess (Java Expert
System Shell).
En un sistema experto:
3
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
Tiene el turno inicial el jugador que posee la ficha seis doble (6-6) que la coloca
y cede el turno a su oponente. Este pondr ficha si tiene en su poder alguna que enca-
je, si no es as ceder el turno a su oponente sin colocar ninguna ficha. Este proceso
se repetir hasta que algn jugador se quede sin fichas o bien ambos jugadores no
puedan colocar piezas, llegando a una situacin de TABLAS.
Esta ficha sirve para determinar que un jugador no puede colocar pieza sobre
la mesa. Cuando un jugador tiene el turno consulta sus piezas (consulta los hechos en
orden de escritura) y las compara con los extremos de las piezas de la mesa, si se lee
la pieza anterior quiere decir que no puede colocar.
4
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
(defrule initialize
(not (pieza (jugador ?jugador) (number1 6) (number2 6)))
=>
(load-facts "irc/jugada3.dat")
)
..
(pieza (jugador Maria) (number1 0) (number2 2))
(pieza (jugador Maria) (number1 0) (number2 3))
..
Los hechos son patrones que pueden tener un campo o varios. Si tienen varios
campos, el primero suele representar una relacin entre los restantes. En nuestro pro-
grama adems de las piezas tenemos hechos tales como:
(deffacts NumerosValidos
(numero (numero1 6) (numero2 6))
)
(deffacts PoneInicial
(noPone (noPoneM 0) (noPoneL 0))
)
El hecho PoneInicial nos sirve para controlar si ninguno de los dos jugadores
no ha podido poner pieza en los dos ltimos turnos sucesivos, lo cual les lleva a una
situacin de TABLAS.
5
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
(defrule ColocaFicha
?y<-(numero (numero1 ?numero1)(numero2 ?numero2))
?x<-(turno (turno_de ?jugador))
?p<-(pieza (jugador ?jugador) (number1 ?number1) (number2 ?num-
ber2))
?z<-(contador (pieM ?pieM) (pieL ?pieL))
?m<-(noPone (noPoneM ?noPoneM) (noPoneL ?noPoneL))
=>
(printout t "Toca jugar a "?jugador " Tiene la ficha " ?number1
"-" ?number2 " Ficha anterior " ?numero1 "-" ?numero2 ". Numero Fichas
colocadas "?pieM " " ?pieL crlf)
(if (eq ?numero1 ?number1)
.)
(defrule NoColocaFicha
?x<-(turno (turno_de ?jugador))
?y<-(noPone (noPoneM ?noPoneM) (noPoneL ?noPoneL))
(pieza (jugador ?jugador) (number1 -1) (number2 -1))
(contador (pieM ?pieM) (pieL ?pieL))
=>
(printout t "Jugador "?jugador " cambia de turno y no pone fi-
cha. Numero Fichas colocadas "?pieM " " ?pieL crlf)
.)
La regla ColocaFicha nos sirve para comprobar si alguna de las fichas que tie-
ne el jugador que posee el turno puede ser colocada.
Tambin hemos realizado una funcin que nos devuelve el resultado de una ac-
cin (incrementar una unidad un nmero).
6
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
(deffunction suma(?a)
(bind ?suma (+ ?a 1))
(+ ?a 1)
)
Para obtener un cdigo ms claro hemos creado plantillas para definir los hechos
como por ejemplo:
(deftemplate pieza
(slot jugador)
(slot number1)
(slot number2)
)
(deftemplate numero
(slot numero1)
(slot numero2)
)
7
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
5. Conclusiones
Mediante la realizacin de esta prctica, juego del domin, hemos aprendido a
manejarnos con esta herramienta, CLIPS. Con ello nos hemos dado cuenta de su po-
tencia y tambin de sus limitaciones (desde el punto de vista de unas personas que
saben defenderse en lenguajes como Java, Pascal, C, y un largo etcetera).
Por otro lado nos hemos dado cuenta de los diferentes resultados que pode-
mos obtener sin ms que cambiar hechos (por ejemplo, entrada de las diferentes
partidas), debido a las reglas genricas que rigen todos y cada uno de los hechos.
Esto nos muestra la potencia de esta herramienta, que sin ms que crear unas cuan-
tas reglas y darle unos determinados hechos podremos llegar a unos resultados u
otros. Por todo esto pensamos que esta herramienta sera adecuada para procesos de
simulacin en los que intervienen procesos de evolucin a partir de una poblacin ini-
cial. Y este es el motivo por el cual hemos decidido modelar nuestro juego del domin
mediante esta herramienta, ya que a travs de una poblacin inicial (piezas que tiene
inicialmente cada jugador) se va evolucionando hasta una situacin final (jugador se
queda sin piezas y gana).
8
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
ANEXOS
f-0 (initial-fact)
f-1 (numero (numero1 6) (numero2 6))
f-2 (noPone (noPoneM 0) (noPoneL 0))
f-3 (contador (pieM 0) (pieL 0))
For a total of 4 facts.
Toca jugar a Maria Tiene la ficha 6-6 Ficha anterior 6-6. Numero Fichas colocadas 0 0
Tiene el turno Luis
Toca jugar a Luis Tiene la ficha 0-0 Ficha anterior 6-6. Numero Fichas colocadas 1 0
Toca jugar a Luis Tiene la ficha 5-6 Ficha anterior 6-6. Numero Fichas colocadas 1 0
Tiene el turno Maria
Toca jugar a Maria Tiene la ficha 2-2 Ficha anterior 5-6. Numero Fichas colocadas 1 1
Toca jugar a Maria Tiene la ficha 1-6 Ficha anterior 5-6. Numero Fichas colocadas 1 1
Tiene el turno Luis
Toca jugar a Luis Tiene la ficha 0-0 Ficha anterior 5-1. Numero Fichas colocadas 2 1
Toca jugar a Luis Tiene la ficha 5-5 Ficha anterior 5-1. Numero Fichas colocadas 2 1
Tiene el turno Maria
Toca jugar a Maria Tiene la ficha 2-2 Ficha anterior 5-1. Numero Fichas colocadas 2 2
Toca jugar a Maria Tiene la ficha 1-5 Ficha anterior 5-1. Numero Fichas colocadas 2 2
Tiene el turno Luis
Toca jugar a Luis Tiene la ficha 0-0 Ficha anterior 1-1. Numero Fichas colocadas 3 2
Toca jugar a Luis Tiene la ficha 4-6 Ficha anterior 1-1. Numero Fichas colocadas 3 2
Toca jugar a Luis Tiene la ficha 4-5 Ficha anterior 1-1. Numero Fichas colocadas 3 2
Toca jugar a Luis Tiene la ficha 4-4 Ficha anterior 1-1. Numero Fichas colocadas 3 2
Toca jugar a Luis Tiene la ficha 3-6 Ficha anterior 1-1. Numero Fichas colocadas 3 2
Toca jugar a Luis Tiene la ficha 3-5 Ficha anterior 1-1. Numero Fichas colocadas 3 2
Toca jugar a Luis Tiene la ficha 3-4 Ficha anterior 1-1. Numero Fichas colocadas 3 2
Toca jugar a Luis Tiene la ficha 3-3 Ficha anterior 1-1. Numero Fichas colocadas 3 2
Toca jugar a Luis Tiene la ficha 2-6 Ficha anterior 1-1. Numero Fichas colocadas 3 2
Toca jugar a Luis Tiene la ficha 2-5 Ficha anterior 1-1. Numero Fichas colocadas 3 2
9
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
Toca jugar a Luis Tiene la ficha 2-4 Ficha anterior 1-1. Numero Fichas colocadas 3 2
Toca jugar a Luis Tiene la ficha 2-3 Ficha anterior 1-1. Numero Fichas colocadas 3 2
Toca jugar a Luis Tiene la ficha -1--1 Ficha anterior 1-1. Numero Fichas colocadas 3 2
Jugador Luis cambia de turno y no pone ficha. Numero Fichas colocadas 3 2
Tiene el turno Maria
Toca jugar a Maria Tiene la ficha 2-2 Ficha anterior 1-1. Numero Fichas colocadas 3 2
Toca jugar a Maria Tiene la ficha 1-4 Ficha anterior 1-1. Numero Fichas colocadas 3 2
Tiene el turno Luis
Toca jugar a Luis Tiene la ficha 0-0 Ficha anterior 4-1. Numero Fichas colocadas 4 2
Toca jugar a Luis Tiene la ficha 4-6 Ficha anterior 4-1. Numero Fichas colocadas 4 2
Tiene el turno Maria
Toca jugar a Maria Tiene la ficha 2-2 Ficha anterior 6-1. Numero Fichas colocadas 4 3
Toca jugar a Maria Tiene la ficha 1-3 Ficha anterior 6-1. Numero Fichas colocadas 4 3
Tiene el turno Luis
Toca jugar a Luis Tiene la ficha 0-0 Ficha anterior 6-3. Numero Fichas colocadas 5 3
Toca jugar a Luis Tiene la ficha 4-5 Ficha anterior 6-3. Numero Fichas colocadas 5 3
Toca jugar a Luis Tiene la ficha 4-4 Ficha anterior 6-3. Numero Fichas colocadas 5 3
Toca jugar a Luis Tiene la ficha 3-6 Ficha anterior 6-3. Numero Fichas colocadas 5 3
Tiene el turno Maria
Toca jugar a Maria Tiene la ficha 2-2 Ficha anterior 3-3. Numero Fichas colocadas 5 4
Toca jugar a Maria Tiene la ficha 1-2 Ficha anterior 3-3. Numero Fichas colocadas 5 4
Toca jugar a Maria Tiene la ficha 1-1 Ficha anterior 3-3. Numero Fichas colocadas 5 4
Toca jugar a Maria Tiene la ficha 0-6 Ficha anterior 3-3. Numero Fichas colocadas 5 4
Toca jugar a Maria Tiene la ficha 0-5 Ficha anterior 3-3. Numero Fichas colocadas 5 4
Toca jugar a Maria Tiene la ficha 0-4 Ficha anterior 3-3. Numero Fichas colocadas 5 4
Toca jugar a Maria Tiene la ficha 0-3 Ficha anterior 3-3. Numero Fichas colocadas 5 4
Tiene el turno Luis
Toca jugar a Luis Tiene la ficha 0-0 Ficha anterior 0-3. Numero Fichas colocadas 6 4
Tiene el turno Maria
Toca jugar a Maria Tiene la ficha 2-2 Ficha anterior 0-3. Numero Fichas colocadas 6 5
Toca jugar a Maria Tiene la ficha 1-2 Ficha anterior 0-3. Numero Fichas colocadas 6 5
Toca jugar a Maria Tiene la ficha 1-1 Ficha anterior 0-3. Numero Fichas colocadas 6 5
Toca jugar a Maria Tiene la ficha 0-6 Ficha anterior 0-3. Numero Fichas colocadas 6 5
Tiene el turno Luis
Toca jugar a Luis Tiene la ficha 4-5 Ficha anterior 6-3. Numero Fichas colocadas 7 5
Toca jugar a Luis Tiene la ficha 4-4 Ficha anterior 6-3. Numero Fichas colocadas 7 5
Toca jugar a Luis Tiene la ficha 3-5 Ficha anterior 6-3. Numero Fichas colocadas 7 5
Tiene el turno Maria
Toca jugar a Maria Tiene la ficha 2-2 Ficha anterior 6-5. Numero Fichas colocadas 7 6
Toca jugar a Maria Tiene la ficha 1-2 Ficha anterior 6-5. Numero Fichas colocadas 7 6
Toca jugar a Maria Tiene la ficha 1-1 Ficha anterior 6-5. Numero Fichas colocadas 7 6
Toca jugar a Maria Tiene la ficha 0-5 Ficha anterior 6-5. Numero Fichas colocadas 7 6
Tiene el turno Luis
Toca jugar a Luis Tiene la ficha 4-5 Ficha anterior 6-0. Numero Fichas colocadas 8 6
Toca jugar a Luis Tiene la ficha 4-4 Ficha anterior 6-0. Numero Fichas colocadas 8 6
Toca jugar a Luis Tiene la ficha 3-4 Ficha anterior 6-0. Numero Fichas colocadas 8 6
Toca jugar a Luis Tiene la ficha 3-3 Ficha anterior 6-0. Numero Fichas colocadas 8 6
Toca jugar a Luis Tiene la ficha 2-6 Ficha anterior 6-0. Numero Fichas colocadas 8 6
Tiene el turno Maria
Toca jugar a Maria Tiene la ficha 2-2 Ficha anterior 2-0. Numero Fichas colocadas 8 7
Tiene el turno Luis
Toca jugar a Luis Tiene la ficha 4-5 Ficha anterior 2-0. Numero Fichas colocadas 9 7
Toca jugar a Luis Tiene la ficha 4-4 Ficha anterior 2-0. Numero Fichas colocadas 9 7
Toca jugar a Luis Tiene la ficha 3-4 Ficha anterior 2-0. Numero Fichas colocadas 9 7
Toca jugar a Luis Tiene la ficha 3-3 Ficha anterior 2-0. Numero Fichas colocadas 9 7
Toca jugar a Luis Tiene la ficha 2-5 Ficha anterior 2-0. Numero Fichas colocadas 9 7
Tiene el turno Maria
Toca jugar a Maria Tiene la ficha 1-2 Ficha anterior 5-0. Numero Fichas colocadas 9 8
10
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
Toca jugar a Maria Tiene la ficha 1-1 Ficha anterior 5-0. Numero Fichas colocadas 9 8
Toca jugar a Maria Tiene la ficha 0-4 Ficha anterior 5-0. Numero Fichas colocadas 9 8
Tiene el turno Luis
Toca jugar a Luis Tiene la ficha 4-5 Ficha anterior 5-4. Numero Fichas colocadas 10 8
Tiene el turno Maria
Toca jugar a Maria Tiene la ficha 1-2 Ficha anterior 4-4. Numero Fichas colocadas 10 9
Toca jugar a Maria Tiene la ficha 1-1 Ficha anterior 4-4. Numero Fichas colocadas 10 9
Toca jugar a Maria Tiene la ficha 0-2 Ficha anterior 4-4. Numero Fichas colocadas 10 9
Toca jugar a Maria Tiene la ficha 0-1 Ficha anterior 4-4. Numero Fichas colocadas 10 9
Toca jugar a Maria Tiene la ficha -1--1 Ficha anterior 4-4. Numero Fichas colocadas 10 9
Jugador Maria cambia de turno y no pone ficha. Numero Fichas colocadas 10 9
Tiene el turno Luis
Toca jugar a Luis Tiene la ficha 4-4 Ficha anterior 4-4. Numero Fichas colocadas 10 9
Tiene el turno Maria
Toca jugar a Maria Tiene la ficha 1-2 Ficha anterior 4-4. Numero Fichas colocadas 10 10
Toca jugar a Maria Tiene la ficha 1-1 Ficha anterior 4-4. Numero Fichas colocadas 10 10
Toca jugar a Maria Tiene la ficha 0-2 Ficha anterior 4-4. Numero Fichas colocadas 10 10
Toca jugar a Maria Tiene la ficha 0-1 Ficha anterior 4-4. Numero Fichas colocadas 10 10
Toca jugar a Maria Tiene la ficha -1--1 Ficha anterior 4-4. Numero Fichas colocadas 10 10
Jugador Maria cambia de turno y no pone ficha. Numero Fichas colocadas 10 10
Tiene el turno Luis
Toca jugar a Luis Tiene la ficha 3-4 Ficha anterior 4-4. Numero Fichas colocadas 10 10
Tiene el turno Maria
Toca jugar a Maria Tiene la ficha 1-2 Ficha anterior 3-4. Numero Fichas colocadas 10 11
Toca jugar a Maria Tiene la ficha 1-1 Ficha anterior 3-4. Numero Fichas colocadas 10 11
Toca jugar a Maria Tiene la ficha 0-2 Ficha anterior 3-4. Numero Fichas colocadas 10 11
Toca jugar a Maria Tiene la ficha 0-1 Ficha anterior 3-4. Numero Fichas colocadas 10 11
Toca jugar a Maria Tiene la ficha -1--1 Ficha anterior 3-4. Numero Fichas colocadas 10 11
Jugador Maria cambia de turno y no pone ficha. Numero Fichas colocadas 10 11
Tiene el turno Luis
Toca jugar a Luis Tiene la ficha 3-3 Ficha anterior 3-4. Numero Fichas colocadas 10 11
Tiene el turno Maria
Toca jugar a Maria Tiene la ficha 1-2 Ficha anterior 3-4. Numero Fichas colocadas 10 12
Toca jugar a Maria Tiene la ficha 1-1 Ficha anterior 3-4. Numero Fichas colocadas 10 12
Toca jugar a Maria Tiene la ficha 0-2 Ficha anterior 3-4. Numero Fichas colocadas 10 12
Toca jugar a Maria Tiene la ficha 0-1 Ficha anterior 3-4. Numero Fichas colocadas 10 12
Toca jugar a Maria Tiene la ficha -1--1 Ficha anterior 3-4. Numero Fichas colocadas 10 12
Jugador Maria cambia de turno y no pone ficha. Numero Fichas colocadas 10 12
Tiene el turno Luis
Toca jugar a Luis Tiene la ficha 2-4 Ficha anterior 3-4. Numero Fichas colocadas 10 12
Tiene el turno Maria
Toca jugar a Maria Tiene la ficha 1-2 Ficha anterior 3-2. Numero Fichas colocadas 10 13
Tiene el turno Luis
Toca jugar a Luis Tiene la ficha 2-3 Ficha anterior 3-1. Numero Fichas colocadas 11 13
HA GANADO EL JUGADOR: LUIS !!!
f-0 (initial-fact)
f-1 (numero (numero1 6) (numero2 6))
f-2 (noPone (noPoneM 0) (noPoneL 0))
11
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
12
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
Toca jugar a Maria Tiene la ficha 0-4 Ficha anterior 5-5. Numero Fichas colocadas 6 7
Toca jugar a Maria Tiene la ficha 3-3 Ficha anterior 5-5. Numero Fichas colocadas 6 7
Toca jugar a Maria Tiene la ficha 2-3 Ficha anterior 5-5. Numero Fichas colocadas 6 7
Toca jugar a Maria Tiene la ficha 0-1 Ficha anterior 5-5. Numero Fichas colocadas 6 7
Toca jugar a Maria Tiene la ficha -1--1 Ficha anterior 5-5. Numero Fichas colocadas 6 7
Jugador Maria cambia de turno y no pone ficha. Numero Fichas colocadas 6 7
Tiene el turno Luis
Toca jugar a Luis Tiene la ficha 1-2 Ficha anterior 5-5. Numero Fichas colocadas 6 7
Toca jugar a Luis Tiene la ficha 4-4 Ficha anterior 5-5. Numero Fichas colocadas 6 7
Toca jugar a Luis Tiene la ficha 1-3 Ficha anterior 5-5. Numero Fichas colocadas 6 7
Toca jugar a Luis Tiene la ficha 3-4 Ficha anterior 5-5. Numero Fichas colocadas 6 7
Toca jugar a Luis Tiene la ficha 0-3 Ficha anterior 5-5. Numero Fichas colocadas 6 7
Toca jugar a Luis Tiene la ficha 1-4 Ficha anterior 5-5. Numero Fichas colocadas 6 7
Toca jugar a Luis Tiene la ficha 2-4 Ficha anterior 5-5. Numero Fichas colocadas 6 7
Toca jugar a Luis Tiene la ficha -1--1 Ficha anterior 5-5. Numero Fichas colocadas 6 7
Jugador Luis cambia de turno y no pone ficha. Numero Fichas colocadas 6 7
Tiene el turno Maria
Los jugadores no pueden continuar colocando fichas !!!TABLAS
f-0 (initial-fact)
f-1 (numero (numero1 6) (numero2 6))
f-2 (contador (pieM 0) (pieJ 0) (pieL 0) (pieJu 0))
For a total of 3 facts.
Toca jugar a Julio Tiene la ficha 6-6 Ficha anterior 6-6. Numero Fichas colocadas 0 0 0 0
Tiene el turno Maria
Toca jugar a Maria Tiene la ficha 0-0 Ficha anterior 6-6. Numero Fichas colocadas 0 0 0 1
Toca jugar a Maria Tiene la ficha 2-3 Ficha anterior 6-6. Numero Fichas colocadas 0 0 0 1
Toca jugar a Maria Tiene la ficha 0-5 Ficha anterior 6-6. Numero Fichas colocadas 0 0 0 1
Toca jugar a Maria Tiene la ficha 1-5 Ficha anterior 6-6. Numero Fichas colocadas 0 0 0 1
Toca jugar a Maria Tiene la ficha 0-3 Ficha anterior 6-6. Numero Fichas colocadas 0 0 0 1
Toca jugar a Maria Tiene la ficha 4-6 Ficha anterior 6-6. Numero Fichas colocadas 0 0 0 1
Tiene el turno Jose
Toca jugar a Jose Tiene la ficha 1-1 Ficha anterior 4-6. Numero Fichas colocadas 1 0 0 1
Toca jugar a Jose Tiene la ficha 2-2 Ficha anterior 4-6. Numero Fichas colocadas 1 0 0 1
Toca jugar a Jose Tiene la ficha 1-6 Ficha anterior 4-6. Numero Fichas colocadas 1 0 0 1
Tiene el turno Luis
Toca jugar a Luis Tiene la ficha 0-6 Ficha anterior 4-1. Numero Fichas colocadas 1 1 0 1
Toca jugar a Luis Tiene la ficha 3-4 Ficha anterior 4-1. Numero Fichas colocadas 1 1 0 1
Tiene el turno Julio
Toca jugar a Julio Tiene la ficha 3-3 Ficha anterior 3-1. Numero Fichas colocadas 1 1 1 1
Tiene el turno Maria
Toca jugar a Maria Tiene la ficha 0-0 Ficha anterior 3-1. Numero Fichas colocadas 1 1 1 2
Toca jugar a Maria Tiene la ficha 2-3 Ficha anterior 3-1. Numero Fichas colocadas 1 1 1 2
Tiene el turno Jose
Toca jugar a Jose Tiene la ficha 1-1 Ficha anterior 2-1. Numero Fichas colocadas 2 1 1 2
Tiene el turno Luis
Toca jugar a Luis Tiene la ficha 0-6 Ficha anterior 2-1. Numero Fichas colocadas 2 2 1 2
Toca jugar a Luis Tiene la ficha 5-6 Ficha anterior 2-1. Numero Fichas colocadas 2 2 1 2
Toca jugar a Luis Tiene la ficha 2-6 Ficha anterior 2-1. Numero Fichas colocadas 2 2 1 2
13
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
14
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
; PLANTILLAS
; HECHOS
15
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
; FUNCIONES
; Suma
(deffunction suma(?a)
(bind ?suma (+ ?a 1))
(+ ?a 1)
)
; REGLAS
16
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
17
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
18
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
(retract ?z)
)
(retract ?p)
(return)
)
;(facts)
)
(reset)
(facts)
(run)
19
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
Domino4player.clp
; JUEGO DEL DOMINO PARA 4 JUGADORES
; PLANTILLAS
; HECHOS
; FUNCIONES
; Suma
(deffunction suma(?a)
(bind ?suma (+ ?a 1))
(+ ?a 1)
)
; REGLAS
20
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
=>
(load-facts "irc/jugada42.dat")
)
21
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
then
(retract ?x)
(assert (turno (turno_de Julio)))
(assert (contador (pieM ?pieM) (pieJ ?pieJ) (pieL (suma
?pieL)) (pieJu ?pieJu)))
(if (eq ?pieL 6)
then
(printout t "HA GANADO EL JUGADOR: LUIS !!!" crlf)
(halt)
(return)
)
(printout t "Tiene el turno Julio" crlf)
(retract ?z))
(retract ?p)
(return)
)
22
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
(retract ?p)
(return)
)
23
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
(retract ?p)
(return)
)
24
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
then
(retract ?y)
(assert (numero (numero1 ?numero1) (numero2 ?number1)))
(if (eq ?jugador Maria)
then
(retract ?x)
(assert (turno (turno_de Jose)))
(assert (contador (pieM (suma ?pieM)) (pieJ ?pieJ) (pieL
?pieL) (pieJu ?pieJu)))
(if (eq ?pieM 6)
then
(printout t "HA GANADO EL JUGADOR: MARIA !!!"
crlf)
(halt)
(return)
)
(printout t "Tiene el turno Jose" crlf)
(retract ?z))
25
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
(halt)
(return)
)
(printout t "Tiene el turno Maria" crlf)
(retract ?z))
(retract ?p)
(return)
)
;(facts)
)
(return)
)
(reset)
(facts)
(run)
26
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
Jugada1.dat
(pieza (jugador Maria) (number1 -1) (number2 -1))
(pieza (jugador Maria) (number1 0) (number2 1))
(pieza (jugador Maria) (number1 0) (number2 2))
(pieza (jugador Maria) (number1 0) (number2 3))
(pieza (jugador Maria) (number1 0) (number2 4))
(pieza (jugador Maria) (number1 0) (number2 5))
(pieza (jugador Maria) (number1 0) (number2 6))
(pieza (jugador Maria) (number1 1) (number2 1))
(pieza (jugador Maria) (number1 1) (number2 2))
(pieza (jugador Maria) (number1 1) (number2 3))
(pieza (jugador Maria) (number1 1) (number2 4))
(pieza (jugador Maria) (number1 1) (number2 5))
(pieza (jugador Maria) (number1 1) (number2 6))
(pieza (jugador Maria) (number1 2) (number2 2))
(pieza (jugador Maria) (number1 6) (number2 6))
Jugada3.dat
(pieza (jugador Maria) (number1 -1) (number2 -1))
(pieza (jugador Maria) (number1 0) (number2 1))
(pieza (jugador Maria) (number1 2) (number2 3))
(pieza (jugador Maria) (number1 3) (number2 3))
(pieza (jugador Maria) (number1 0) (number2 4))
(pieza (jugador Maria) (number1 2) (number2 6))
(pieza (jugador Maria) (number1 0) (number2 6))
(pieza (jugador Maria) (number1 1) (number2 1))
(pieza (jugador Maria) (number1 0) (number2 5))
(pieza (jugador Maria) (number1 3) (number2 5))
(pieza (jugador Maria) (number1 2) (number2 5))
(pieza (jugador Maria) (number1 1) (number2 5))
(pieza (jugador Maria) (number1 1) (number2 6))
(pieza (jugador Maria) (number1 2) (number2 2))
(pieza (jugador Maria) (number1 0) (number2 0))
27
Inteligencia en Redes de Comunicaciones Luis Corrales vila
Prctica Obligatoria Mara Herrero Torres
Domin en CLIPS
Jugada42.dat
28