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))
```