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

Game Description

; game is identical to doubletoetictac

(role player1) 
(role player2) 
(init (cell x1 white)) 
(init (cell x2 white)) 
(init (cell x3 white)) 
(init (cell y1 white)) 
(init (cell y2 white)) 
(init (cell y3 white)) 
(init (cell z1 white)) 
(init (cell z2 white)) 
(init (cell z3 white)) 
(init (cell x1 black)) 
(init (cell x2 black)) 
(init (cell x3 black)) 
(init (cell y1 black)) 
(init (cell y2 black)) 
(init (cell y3 black)) 
(init (cell z1 black)) 
(init (cell z2 black)) 
(init (cell z3 black)) 
(init (color white player1)) 
(init (color black player2)) 
(opponent white black) 
(opponent black white) 
(<= (next (cell1 ?x ?c))
	(does player1 (place ?x ?c))
	(true (cell ?x ?c))) 
(<= (next (cell2 ?x ?c))
	(does player2 (place ?x ?c))
	(true (cell ?x ?c))) 
(<= (next (cell1 ?x ?c))
	(true (cell1 ?x ?c))) 
(<= (next (cell2 ?x ?c))
	(true (cell2 ?x ?c))) 
(<= (next (cell ?x ?c))
	(does ?p (place ?y ?c))
	(true (cell ?x ?c))
	(distinct ?x ?y)) 
(<= (next (cell ?x ?c))
	(true (cell ?x ?c))
	(does ?p noop)
	(true (color ?c ?p))) 
(<= (next (color ?c player1))
	(true (color ?c player2))) 
(<= (next (color ?c player2))
	(true (color ?c player1))) 
(line x1 x2 x3) 
(line x1 y1 z1) 
(line y1 y2 y3) 
(line x2 y2 z2) 
(line z1 z2 z3) 
(line x3 y3 z3) 
(line x1 y2 z3) 
(line x3 y2 z1) 
(<= (line1 ?c)
	(line ?x ?y ?z)
	(true (cell1 ?x ?c))
	(true (cell1 ?y ?c))
	(true (cell1 ?z ?c)))
(<= (line2 ?c)
	(line ?x ?y ?z)
	(true (cell2 ?x ?c))
	(true (cell2 ?y ?c))
	(true (cell2 ?z ?c))) 
(<= (pieceleft ?c)
	(true (cell ?x ?c))) 
(<= (anyline ?c)
	(or (line1 ?c)
	(line2 ?c))) 
(<= (legal ?player
	(place ?ouldis ?c))
	(true (cell ?ouldis ?c))
	(true (color ?c ?player))
	(not (anyline ?c)))
(<= (legal player2 noop)
	(true (color ?c player2))
	(not (pieceleft ?c))) 
(<= (legal player1 noop)
	(true (color ?c player1))
	(not (pieceleft ?c))) 
(<= (legal player2 noop)
	(true (color ?c player2))
	(anyline ?c)) 
(<= (legal player1 noop)
	(true (color ?c player1))
	(anyline ?c)) 
(<= (goal player1 100)
	(line1 white)
	(line1 black)) 
(<= (goal player1 75)
	(line1 ?color1)
	(opponent ?color1 ?color2)
	(not (line2 ?color2))
	(not (line1 ?color2))) 
(<= (goal player1 25)
	(line2 ?color1)
	(opponent ?color1 ?color2)
	(not (line2 ?color2))
	(not (line1 ?color2))) 
(<= (goal player1 0)
	(line2 white)
	(line2 black)) 
(<= (goal ?player 50)
	(role ?player)
	(line1 ?color1)
	(opponent ?color1 ?color2)
	(line2 ?color2)) 
(<= (goal ?player 50)
	(role ?player)
	(not (pieceleft white))
	(not (pieceleft black))
	(not (anyline white))
	(not (anyline black))) 
(<= (goal player2 100) (line2 white) (line2 black)) 
(<= (goal player2 75) (line2 ?color1) (opponent ?color1 ?color2) (not (line2 ?color2)) (not (line1 ?color2))) 
(<= (goal player2 25) (line1 ?color1) (opponent ?color1 ?color2) (not (line2 ?color2)) (not (line1 ?color2))) 
(<= (goal player2 0) (line1 white) (line1 black)) 
(<= terminal
	(anyline ?color1)
	(opponent ?color1 ?color2)
	(anyline ?color2)) 
(<= terminal
	(anyline ?color1)
	(opponent ?color1 ?color2)
	(not (pieceleft ?color2))) 
(<= terminal
	(not (pieceleft white))
	(not (pieceleft black)))

sees_XML(...) rules

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