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

Game Description

; beatmania
(role dropper)
(role player)
(init (blocksdropped 0))
(init (blockscaught 0))
(<= (legal dropper (place 1))
    (not (true (blocksdropped 30))))
(<= (legal dropper (place 2))
    (not (true (blocksdropped 30))))
(<= (legal dropper (place 3))
    (not (true (blocksdropped 30))))
(<= (legal dropper noop)
    (true (blocksdropped 30)))
(<= (legal player (play 1)))
(<= (legal player (play 2)))
(<= (legal player (play 3)))
(<= (next (block 1 30))
    (does dropper (place 1)))
(<= (next (block 2 30))
    (does dropper (place 2)))
(<= (next (block 3 30))
    (does dropper (place 3)))
(<= (next (blocksdropped ?n++))
    blockdropped
    (true (blocksdropped ?n))
    (++ ?n ?n++))
(<= (next (blocksdropped ?n))
    (true (blocksdropped ?n))
    (not blockdropped))
(<= (next (blockscaught ?n++))
    blockcaught
    (true (blockscaught ?n))
    (++ ?n ?n++))
(<= (next (blockscaught ?n))
    (true (blockscaught ?n))
    (not blockcaught))
(<= (next (block ?x ?y--))
    (true (block ?x ?y))
    (-- ?y ?y--))
(<= terminal
    (true (blocksdropped 30))
    (not (true (block 1 1)))
    (not (true (block 2 1)))
    (not (true (block 3 1))))
(<= (goal dropper 100))
(<= (goal player ?goal)
    (true (blockscaught ?n))
    (scoremap ?n ?goal))
(<= blockdropped
    (does dropper (place 1)))
(<= blockdropped
    (does dropper (place 2)))
(<= blockdropped
    (does dropper (place 3)))
(<= blockcaught
    (does player (play 1))
    (true (block 1 1)))
(<= blockcaught
    (does player (play 2))
    (true (block 2 1)))
(<= blockcaught
    (does player (play 3))
    (true (block 3 1)))
(++ 0 1)
(++ 1 2)
(++ 2 3)
(++ 3 4)
(++ 4 5)
(++ 5 6)
(++ 6 7)
(++ 7 8)
(++ 8 9)
(++ 9 10)
(++ 10 11)
(++ 11 12)
(++ 12 13)
(++ 13 14)
(++ 14 15)
(++ 15 16)
(++ 16 17)
(++ 17 18)
(++ 18 19)
(++ 19 20)
(++ 20 21)
(++ 21 22)
(++ 22 23)
(++ 23 24)
(++ 24 25)
(++ 25 26)
(++ 26 27)
(++ 27 28)
(++ 28 29)
(++ 29 30)
(-- 30 29)
(-- 29 28)
(-- 28 27)
(-- 27 26)
(-- 26 25)
(-- 25 24)
(-- 24 23)
(-- 23 22)
(-- 22 21)
(-- 21 20)
(-- 20 19)
(-- 19 18)
(-- 18 17)
(-- 17 16)
(-- 16 15)
(-- 15 14)
(-- 14 13)
(-- 13 12)
(-- 12 11)
(-- 11 10)
(-- 10 9)
(-- 9 8)
(-- 8 7)
(-- 7 6)
(-- 6 5)
(-- 5 4)
(-- 4 3)
(-- 3 2)
(-- 2 1)
(scoremap 0 0)
(scoremap 1 3)
(scoremap 2 6)
(scoremap 3 9)
(scoremap 4 12)
(scoremap 5 15)
(scoremap 6 18)
(scoremap 7 21)
(scoremap 8 24)
(scoremap 9 27)
(scoremap 10 30)
(scoremap 11 33)
(scoremap 12 36)
(scoremap 13 39)
(scoremap 14 42)
(scoremap 15 45)
(scoremap 16 48)
(scoremap 17 51)
(scoremap 18 54)
(scoremap 19 57)
(scoremap 20 60)
(scoremap 21 63)
(scoremap 22 66)
(scoremap 23 69)
(scoremap 24 72)
(scoremap 25 75)
(scoremap 26 80)
(scoremap 27 85)
(scoremap 28 90)
(scoremap 29 95)
(scoremap 30 100)

sees_XML(...) rules

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