import re
from go.core import Go
from statebag import BoardState
def simpleLoadSgf(filename):
with open(filename) as f:
contents=f.read()
g=lambda m: tuple(ord(c)-ord('a') for c in reversed(m.group(1)))
return [g(m) for m in re.finditer(r"\b[BW]\[([a-z]{2})\]",contents)]
def listBoards(moves):
g=Go()
res=[tuple(list(x for x in row) for row in g.board)]
for m in moves:
g.doMove(g.toMove,*m)
res.append(tuple(list(x for x in row) for row in g.board))
return res
def listStates(moves):
return [BoardState(b) for b in listBoards(moves)]