Game bomberman2p

name | bomberman2p | |
---|---|---|

creator | admin | |

number of roles | 2 | |

stylesheet | mazegames/mazegames.xsl | |

GDL | v1 | |

enabled | ||

matches | show matches | |

statistics | show game statistics | |

description |

## Game Description

```
; bomberman2p
(role bomberman)
(role bomberwoman)
(init (location bomberman 1 1))
(init (location bomberwoman 8 8))
(init (blockednorth 2 1))
(init (blockednorth 4 1))
(init (blockednorth 5 1))
(init (blockednorth 7 1))
(init (blockednorth 2 2))
(init (blockednorth 4 2))
(init (blockednorth 5 2))
(init (blockednorth 7 2))
(init (blockednorth 2 3))
(init (blockednorth 4 3))
(init (blockednorth 5 3))
(init (blockednorth 7 3))
(init (blockednorth 2 5))
(init (blockednorth 4 5))
(init (blockednorth 5 5))
(init (blockednorth 7 5))
(init (blockednorth 2 6))
(init (blockednorth 4 6))
(init (blockednorth 5 6))
(init (blockednorth 7 6))
(init (blockednorth 2 7))
(init (blockednorth 4 7))
(init (blockednorth 5 7))
(init (blockednorth 7 7))
(init (blockednorth 1 8))
(init (blockednorth 2 8))
(init (blockednorth 3 8))
(init (blockednorth 4 8))
(init (blockednorth 5 8))
(init (blockednorth 6 8))
(init (blockednorth 7 8))
(init (blockednorth 8 8))
(init (blockedeast 1 2))
(init (blockedeast 1 4))
(init (blockedeast 1 5))
(init (blockedeast 1 7))
(init (blockedeast 2 2))
(init (blockedeast 2 4))
(init (blockedeast 2 5))
(init (blockedeast 2 7))
(init (blockedeast 3 2))
(init (blockedeast 3 4))
(init (blockedeast 3 5))
(init (blockedeast 3 7))
(init (blockedeast 5 2))
(init (blockedeast 5 4))
(init (blockedeast 5 5))
(init (blockedeast 5 7))
(init (blockedeast 6 2))
(init (blockedeast 6 4))
(init (blockedeast 6 5))
(init (blockedeast 6 7))
(init (blockedeast 7 2))
(init (blockedeast 7 4))
(init (blockedeast 7 5))
(init (blockedeast 7 7))
(init (blockedeast 8 1))
(init (blockedeast 8 2))
(init (blockedeast 8 3))
(init (blockedeast 8 4))
(init (blockedeast 8 5))
(init (blockedeast 8 6))
(init (blockedeast 8 7))
(init (blockedeast 8 8))
(init (step 1))
(<= (legal ?char (move ?dir))
(role ?char)
(true (location ?char ?x ?y))
(legalstep ?dir ?x ?y))
(<= (legal ?char dropbomb)
(role ?char))
(<= (next (blockednorth ?x ?y))
(true (blockednorth ?x ?y)))
(<= (next (blockedeast ?x ?y))
(true (blockedeast ?x ?y)))
(<= (next (location ?char ?x2 ?y2))
(role ?char)
(true (location ?char ?x1 ?y1))
(does ?char (move ?dir))
(nextcell ?dir ?x1 ?y1 ?x2 ?y2))
(<= (next (location ?char ?x ?y))
(role ?char)
(true (location ?char ?x ?y))
(does ?char dropbomb))
(<= (next (location bomb3 ?x ?y))
(role ?char)
(true (location ?char ?x ?y))
(does ?char dropbomb))
(<= (next (location bomb2 ?x ?y))
(true (location bomb3 ?x ?y)))
(<= (next (location bomb1 ?x ?y))
(true (location bomb2 ?x ?y)))
(<= (next (location bomb0 ?x ?y))
(true (location bomb1 ?x ?y)))
(<= (next (location fire ?xf ?y))
(true (location bomb0 ?xb ?y))
(not (true (blockedeast ?xb ?y)))
(index ?xf))
(<= (next (location fire ?x ?yf))
(true (location bomb0 ?x ?yb))
(not (true (blockednorth ?x ?yb)))
(index ?yf))
(<= (next (step ?n++))
(true (step ?n))
(succ ?n ?n++))
(<= terminal
bombermanburned)
(<= terminal
bomberwomanburned)
(<= terminal
timeout)
(<= (goal bomberman 0)
(not timeout)
(not bombermanburned)
(not bomberwomanburned))
(<= (goal bomberman 0)
bombermanburned
(not bomberwomanburned))
(<= (goal bomberman 50)
bombermanburned
bomberwomanburned)
(<= (goal bomberman 50)
timeout
(not bombermanburned)
(not bomberwomanburned))
(<= (goal bomberman 100)
(not bombermanburned)
bomberwomanburned)
(<= (goal bomberwoman 0)
(not timeout)
(not bombermanburned)
(not bomberwomanburned))
(<= (goal bomberwoman 0)
(not bombermanburned)
bomberwomanburned)
(<= (goal bomberwoman 50)
bombermanburned
bomberwomanburned)
(<= (goal bomberwoman 50)
timeout
(not bombermanburned)
(not bomberwomanburned))
(<= (goal bomberwoman 100)
bombermanburned
(not bomberwomanburned))
(<= (legalstep north ?x ?y)
(++ ?y ?ynew)
(cell ?x ?ynew)
(not (blocked ?x ?y ?x ?ynew)))
(<= (legalstep south ?x ?y)
(-- ?y ?ynew)
(cell ?x ?ynew)
(not (blocked ?x ?y ?x ?ynew)))
(<= (legalstep east ?x ?y)
(++ ?x ?xnew)
(cell ?xnew ?y)
(not (blocked ?x ?y ?xnew ?y)))
(<= (legalstep west ?x ?y)
(-- ?x ?xnew)
(cell ?xnew ?y)
(not (blocked ?x ?y ?xnew ?y)))
(<= (legalstep nowhere ?x ?y)
(cell ?x ?y))
(<= (nextcell north ?x ?y ?x ?ynew)
(index ?x)
(++ ?y ?ynew))
(<= (nextcell south ?x ?y ?x ?ynew)
(index ?x)
(-- ?y ?ynew))
(<= (nextcell east ?x ?y ?xnew ?y)
(index ?y)
(++ ?x ?xnew))
(<= (nextcell west ?x ?y ?xnew ?y)
(index ?y)
(-- ?x ?xnew))
(<= (nextcell nowhere ?x ?y ?x ?y)
(cell ?x ?y))
(<= (blocked ?x ?y1 ?x ?y2)
(true (blockednorth ?x ?y1))
(++ ?y1 ?y2))
(<= (blocked ?x ?y2 ?x ?y1)
(true (blockednorth ?x ?y1))
(++ ?y1 ?y2))
(<= (blocked ?x1 ?y ?x2 ?y)
(true (blockedeast ?x1 ?y))
(++ ?x1 ?x2))
(<= (blocked ?x2 ?y ?x1 ?y)
(true (blockedeast ?x1 ?y))
(++ ?x1 ?x2))
(<= (distinctcell ?x1 ?y1 ?x2 ?y2)
(cell ?x1 ?y1)
(cell ?x2 ?y2)
(distinct ?x1 ?x2))
(<= (distinctcell ?x1 ?y1 ?x2 ?y2)
(cell ?x1 ?y1)
(cell ?x2 ?y2)
(distinct ?y1 ?y2))
(<= bombermanburned
(true (location bomberman ?x ?y))
(true (location fire ?x ?y)))
(<= bomberwomanburned
(true (location bomberwoman ?x ?y))
(true (location fire ?x ?y)))
(<= timeout
(true (step 50)))
(index 1)
(index 2)
(index 3)
(index 4)
(index 5)
(index 6)
(index 7)
(index 8)
(cell 1 8)
(cell 2 8)
(cell 3 8)
(cell 4 8)
(cell 5 8)
(cell 6 8)
(cell 7 8)
(cell 8 8)
(cell 1 7)
(cell 2 7)
(cell 3 7)
(cell 4 7)
(cell 5 7)
(cell 6 7)
(cell 7 7)
(cell 8 7)
(cell 1 6)
(cell 2 6)
(cell 3 6)
(cell 4 6)
(cell 5 6)
(cell 6 6)
(cell 7 6)
(cell 8 6)
(cell 1 5)
(cell 2 5)
(cell 3 5)
(cell 4 5)
(cell 5 5)
(cell 6 5)
(cell 7 5)
(cell 8 5)
(cell 1 4)
(cell 2 4)
(cell 3 4)
(cell 4 4)
(cell 5 4)
(cell 6 4)
(cell 7 4)
(cell 8 4)
(cell 1 3)
(cell 2 3)
(cell 3 3)
(cell 4 3)
(cell 5 3)
(cell 6 3)
(cell 7 3)
(cell 8 3)
(cell 1 2)
(cell 2 2)
(cell 3 2)
(cell 4 2)
(cell 5 2)
(cell 6 2)
(cell 7 2)
(cell 8 2)
(cell 1 1)
(cell 2 1)
(cell 3 1)
(cell 4 1)
(cell 5 1)
(cell 6 1)
(cell 7 1)
(cell 8 1)
(++ 1 2)
(++ 2 3)
(++ 3 4)
(++ 4 5)
(++ 5 6)
(++ 6 7)
(++ 7 8)
(-- 8 7)
(-- 7 6)
(-- 6 5)
(-- 5 4)
(-- 4 3)
(-- 3 2)
(-- 2 1)
(succ 1 2)
(succ 2 3)
(succ 3 4)
(succ 4 5)
(succ 5 6)
(succ 6 7)
(succ 7 8)
(succ 8 9)
(succ 9 10)
(succ 10 11)
(succ 11 12)
(succ 12 13)
(succ 13 14)
(succ 14 15)
(succ 15 16)
(succ 16 17)
(succ 17 18)
(succ 18 19)
(succ 19 20)
(succ 20 21)
(succ 21 22)
(succ 22 23)
(succ 23 24)
(succ 24 25)
(succ 25 26)
(succ 26 27)
(succ 27 28)
(succ 28 29)
(succ 29 30)
(succ 30 31)
(succ 31 32)
(succ 32 33)
(succ 33 34)
(succ 34 35)
(succ 35 36)
(succ 36 37)
(succ 37 38)
(succ 38 39)
(succ 39 40)
(succ 40 41)
(succ 41 42)
(succ 42 43)
(succ 43 44)
(succ 44 45)
(succ 45 46)
(succ 46 47)
(succ 47 48)
(succ 48 49)
(succ 49 50)
```

## sees_XML(...) rules

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