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

Game Description

; tictactoelargesuicide
(role xplayer)
(role oplayer)
(init (control xplayer))
(<= (legal xplayer noop)
    (true (control oplayer)))
(<= (legal xplayer (play ?i ?j x))
    (true (control xplayer))
    (emptycell ?i ?j))
(<= (legal oplayer noop)
    (true (control xplayer)))
(<= (legal oplayer (play ?i ?j o))
    (true (control oplayer))
    (emptycell ?i ?j))
(<= (next (mark ?i ?j ?mark))
    (role ?player)
    (does ?player (play ?i ?j ?mark)))
(<= (next (mark ?i ?j ?mark))
    (true (mark ?i ?j ?mark)))
(<= (next (control xplayer))
    (true (control oplayer)))
(<= (next (control oplayer))
    (true (control xplayer)))
(<= terminal
    (line x))
(<= terminal
    (line o))
(<= terminal
    (not open))
(<= (goal xplayer 0)
    (line x))
(<= (goal xplayer 50)
    (not (line x))
    (not (line y))
    (not open))
(<= (goal xplayer 100)
    (line o))
(<= (goal xplayer 0)
    (not (line x))
    (not (line o))
    open)
(<= (goal oplayer 0)
    (line o))
(<= (goal oplayer 50)
    (not (line x))
    (not (line o))
    (not open))
(<= (goal oplayer 100)
    (line x))
(<= (goal oplayer 0)
    (not (line x))
    (not (line o))
    open)
(<= (row ?i ?mark)
    (true (mark ?i 1 ?mark))
    (true (mark ?i 2 ?mark))
    (true (mark ?i 3 ?mark))
    (true (mark ?i 4 ?mark))
    (true (mark ?i 5 ?mark)))
(<= (col ?j ?mark)
    (true (mark 1 ?j ?mark))
    (true (mark 2 ?j ?mark))
    (true (mark 3 ?j ?mark))
    (true (mark 4 ?j ?mark))
    (true (mark 5 ?j ?mark)))
(<= (diag ?mark)
    (true (mark 1 1 ?mark))
    (true (mark 2 2 ?mark))
    (true (mark 3 3 ?mark))
    (true (mark 4 4 ?mark))
    (true (mark 5 5 ?mark)))
(<= (diag ?mark)
    (true (mark 1 5 ?mark))
    (true (mark 2 4 ?mark))
    (true (mark 3 3 ?mark))
    (true (mark 4 2 ?mark))
    (true (mark 5 1 ?mark)))
(<= (line ?mark)
    (index ?i)
    (row ?i ?mark))
(<= (line ?mark)
    (index ?j)
    (col ?j ?mark))
(<= (line ?mark)
    (diag ?mark))
(<= (emptycell ?i ?j)
    (index ?i)
    (index ?j)
    (not (true (mark ?i ?j x)))
    (not (true (mark ?i ?j o))))
(<= open
    (emptycell ?i ?j))
(index 1)
(index 2)
(index 3)
(index 4)
(index 5)

sees_XML(...) rules

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