You are not logged in. login register
Game 3pffa
name 3pffa
creator admin
number of roles 3
stylesheet 3pffa/3pffa.xsl
GDL v1
enabled
matches show matches
statistics show game statistics
description

Game Description

(role red)
(role yellow)
(role blue)
(init (control red))
(init (cell 1 4 red))
(init (cell 4 1 yellow))
(init (cell 7 4 blue))
(init (step 1))
(init (capture red 0))
(init (capture yellow 0))
(init (capture blue 0))
(<= (legal ?player noop)
    (role ?player))
(<= (legal ?player (move ?x1 ?y1 ?x2 ?y2))
    (true (control ?player))
    (true (cell ?x1 ?y1 ?player))
    (orthogonal ?x1 ?y1 ?x2 ?y2)
    (onboard ?x2 ?y2)
    (true (cell ?x2 ?y2 ?player2))
    (distinct ?player ?player2))
(<= (legal ?player (move ?x1 ?y1 ?x2 ?y2))
    (true (control ?player))
    (true (cell ?x1 ?y1 ?player))
    (diagonal ?x1 ?y1 ?x2 ?y2)
    (onboard ?x2 ?y2)
    (true (cell ?x2 ?y2 ?player2))
    (distinct ?player ?player2))
(<= (legal ?player (move ?x1 ?y1 ?x2 ?y2))
    (true (control ?player))
    (true (cell ?x1 ?y1 ?player))
    (ell ?x1 ?y1 ?x2 ?y2)
    (opencell ?x2 ?y2))
(<= (next (control ?p2))
    (true (control ?p1))
    (rotation ?p1 ?p2))
(<= (next (cell ?x2 ?y2 ?player))
    (does ?player (move ?x1 ?y1 ?x2 ?y2)))
(<= (next (cell ?x ?y ?piece))
    (true (cell ?x ?y ?piece))
    (not (camefrom ?x ?y))
    (not (wentto ?x ?y)))
(<= (next (cell ?x ?y ?player))
    (spawns ?x ?y ?player))
(<= (next (capture ?player ?count))
    (true (capture ?player ?count))
    (not (captured ?player)))
(<= (next (capture ?player ?count2))
    (true (capture ?player ?count1))
    (captured ?player)
    (captureplus ?count1 ?count2))
(<= (next (step ?t2))
    (true (step ?t1))
    (stepcount ?t1 ?t2))
(<= terminal
    (true (step 31)))
(<= (goal ?player ?goal)
    (true (capture ?player ?count))
    (scoremap ?count ?goal))
(<= (orthogonal ?x1 ?y ?x2 ?y)
    (plus 1 ?x1 ?x2)
    (index ?y))
(<= (orthogonal ?x1 ?y ?x2 ?y)
    (plus 1 ?x2 ?x1)
    (index ?y))
(<= (orthogonal ?x ?y1 ?x ?y2)
    (index ?x)
    (plus 1 ?y1 ?y2))
(<= (orthogonal ?x ?y1 ?x ?y2)
    (index ?x)
    (plus 1 ?y2 ?y1))
(<= (diagonal ?x1 ?y1 ?x2 ?y2)
    (plus 1 ?x1 ?x2)
    (plus 1 ?y1 ?y2))
(<= (diagonal ?x1 ?y1 ?x2 ?y2)
    (plus 1 ?x1 ?x2)
    (plus 1 ?y2 ?y1))
(<= (diagonal ?x1 ?y1 ?x2 ?y2)
    (plus 1 ?x2 ?x1)
    (plus 1 ?y1 ?y2))
(<= (diagonal ?x1 ?y1 ?x2 ?y2)
    (plus 1 ?x2 ?x1)
    (plus 1 ?y2 ?y1))
(<= (ell ?x1 ?y1 ?x2 ?y2)
    (plus 2 ?x1 ?x2)
    (plus 1 ?y1 ?y2))
(<= (ell ?x1 ?y1 ?x2 ?y2)
    (plus 2 ?x1 ?x2)
    (plus 1 ?y2 ?y1))
(<= (ell ?x1 ?y1 ?x2 ?y2)
    (plus 2 ?x2 ?x1)
    (plus 1 ?y1 ?y2))
(<= (ell ?x1 ?y1 ?x2 ?y2)
    (plus 2 ?x2 ?x1)
    (plus 1 ?y2 ?y1))
(<= (ell ?x1 ?y1 ?x2 ?y2)
    (plus 1 ?x1 ?x2)
    (plus 2 ?y1 ?y2))
(<= (ell ?x1 ?y1 ?x2 ?y2)
    (plus 1 ?x1 ?x2)
    (plus 2 ?y2 ?y1))
(<= (ell ?x1 ?y1 ?x2 ?y2)
    (plus 1 ?x2 ?x1)
    (plus 2 ?y1 ?y2))
(<= (ell ?x1 ?y1 ?x2 ?y2)
    (plus 1 ?x2 ?x1)
    (plus 2 ?y2 ?y1))
(<= (opencell ?x ?y)
    (onboard ?x ?y)
    (not (true (cell ?x ?y red)))
    (not (true (cell ?x ?y yellow)))
    (not (true (cell ?x ?y blue))))
(<= (onboard ?x ?y)
    (index ?x)
    (index ?y)
    (distinct ?x 1)
    (distinct ?x 7)
    (distinct ?y 1)
    (distinct ?y 7))
(<= (camefrom ?x1 ?y1)
    (does ?player (move ?x1 ?y1 ?x2 ?y2)))
(<= (wentto ?x2 ?y2)
    (does ?player (move ?x1 ?y1 ?x2 ?y2)))
(<= (captured ?player)
    (true (control ?player))
    (wentto ?x ?y)
    (true (cell ?x ?y ?any)))
(index 1)
(index 2)
(index 3)
(index 4)
(index 5)
(index 6)
(index 7)
(plus 1 1 2)
(plus 1 2 3)
(plus 1 3 4)
(plus 1 4 5)
(plus 1 5 6)
(plus 1 6 7)
(plus 2 1 3)
(plus 2 2 4)
(plus 2 3 5)
(plus 2 4 6)
(plus 2 5 7)
(rotation red yellow)
(rotation yellow blue)
(rotation blue red)
(spawns 1 4 red)
(spawns 4 1 yellow)
(spawns 7 4 blue)
(stepcount 1 2)
(stepcount 2 3)
(stepcount 3 4)
(stepcount 4 5)
(stepcount 5 6)
(stepcount 6 7)
(stepcount 7 8)
(stepcount 8 9)
(stepcount 9 10)
(stepcount 10 11)
(stepcount 11 12)
(stepcount 12 13)
(stepcount 13 14)
(stepcount 14 15)
(stepcount 15 16)
(stepcount 16 17)
(stepcount 17 18)
(stepcount 18 19)
(stepcount 19 20)
(stepcount 20 21)
(stepcount 21 22)
(stepcount 22 23)
(stepcount 23 24)
(stepcount 24 25)
(stepcount 25 26)
(stepcount 26 27)
(stepcount 27 28)
(stepcount 28 29)
(stepcount 29 30)
(stepcount 30 31)
(captureplus 0 1)
(captureplus 1 2)
(captureplus 2 3)
(captureplus 3 4)
(captureplus 4 5)
(captureplus 5 6)
(captureplus 6 7)
(captureplus 7 8)
(captureplus 8 9)
(captureplus 9 10)
(scoremap 0 0)
(scoremap 1 10)
(scoremap 2 20)
(scoremap 3 30)
(scoremap 4 40)
(scoremap 5 50)
(scoremap 6 60)
(scoremap 7 70)
(scoremap 8 80)
(scoremap 9 90)
(scoremap 10 100)

sees_XML(...) rules

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