Game Thief_Police

name | Thief_Police | |
---|---|---|

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 5 5))
(co 1)
(co 2)
(co 3)
(co 4)
(co 5)
(succ 1 2)
(succ 2 3)
(succ 3 4)
(succ 4 5)
(<= (goal ?r 0)
(role ?r)
(not terminal))
(<= (goal ?r 0)
(role ?r)
(distinct ?r intruder)
terminal
(not remain))
(<= (goal ?r 100)
(role ?r)
(distinct ?r intruder)
terminal
(true (at intruder ?x ?y)))
(<= (goal intruder 0)
terminal
(true (at intruder ?x ?y)))
(<= (goal intruder 100)
terminal
(not remain))
(<= terminal
(true (at guard ?x ?y))
(true (at intruder ?x ?y)))
(<= terminal
(not remain))
(<= remain
(true (at intruder ?x ?y)))
(<= (legal ?r stay)
(true (at ?r ?x ?y)))
(<= (legal intruder exit)
(not terminal)
(true (at intruder 1 1)))
(<= (legal intruder exit)
(not terminal)
(true (at intruder 1 5)))
(<= (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 ?y east ?x2 ?y)
(co ?y)
(succ ?x1 ?x2))
(<= (adjacent ?x1 ?y west ?x2 ?y)
(co ?y)
(succ ?x2 ?x1))
(<= (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))
```

## sees_XML(...) rules

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