You are not logged in. login register
Game CatchMeIfYouCan
name CatchMeIfYouCan
creator reachable
number of roles 2
stylesheet generic/generic.xsl
GDL v1
enabled
matches show matches
statistics show game statistics
description

Game Description

(role guard)
(role intruder)
(init (at guard 1 1))
(init (at intruder 1 5))

(<= (legal ?r stay) 
(true (at ?r ?x ?y)))

(<= (legal intruder exit)
(not terminal) 
(true (at guard 1)))

(<= (legal ?r (move ?d))
(not terminal) 
(true (at ?r ?u ?v)) 
(adjacent ?u ?v ?d ?x ?y))

(<= (adjacent ?x ?y1 north ?x ?y2)
(co ?x) 
(succ ?y1 ?y2))

(<= (adjacent ?x ?y1 south ?x ?y2)
(co ?x)
(succ ?y2 ?y1))
(<= (adjacent ?x1 ?y1 east ?x2 ?y)
(co ?y)
(succ ?x1 ?x2))
(<= (adjacent ?x1 ?y west ?x2 ?y)

(co ?y)
(succ ?x2 ?x1))

(co 1)
(co 2)
(co 3)
(co 4)
(co 5)
(succ 1 2)
(succ 2 3)
(succ 3 4)
(succ 4 5)   

(<= (next (at ?r ?x ?y))
(does ?r stay)
(true (at ?r ?x ?y)))

(<= (next (at ?r ?x ?y))
(does ?r (move ?d)) 
(true (at ?r ?u ?v)) 
(adjacent ?u ?v ?d ?x ?y)
(not (capture ?r)))

(<= (next (at intruder ?x ?y))
(true (at intruder ?x ?y))
(capture intruder))  

(<= (capture intruder)
(true (at intruder ?x ?y))
(true (at ?r ?u ?v))) 
(does intruder (move ?d1)) 
(does ?r (move ?d2))
(adjacent ?x ?y ?d1 ?u ?v) 
(adjacent ?u ?v ?d2 ?x ?y)

(<= (terminal)
(true (at guard ?x ?y))
(true (at intruder ?x ?y)))

(<= (terminal)
(not (remain)))
(<= (remain)
(true (at intruder ?x ?y)))  

(<= (goal ?r 0)
(role ?r)
(not terminal))
(<= (goal ?r 0)
(role ?r)
(neq ?r intruder)
(terminal)
(not (remain)))

(<= (goal ?r 100)
(role ?r)
(neq ?r intruder)
(terminal)
(true (at intruder ?x ?y)))

(<= (goal intruder 0)
(terminal)
(true (at intruder ?x ?y)))

(<= (goal intruder 100)
(terminal)
(not (remain)))

sees_XML(...) rules

(<= (sees_xml random ?t) (true ?t))
(<= (sees_xml ?p ?t) (role ?p) (distinct ?p random) (true ?t))