+"""Imago output module."""
+
+import sys
+
+COORDS = 'abcdefghijklmnopqrs'
+
+def txt2sgf(board):
+ """Converts textual represantation to SGF (set position)."""
+
+ board = sys.stdin.read().split('\n')
+ board = [line.split() for line in board]
+
+ black = []
+ white = []
+
+ for i in range(19):
+ for j in range(19):
+ if board[i][j] == 'B':
+ black.append((i, j))
+ elif board[i][j] == 'W':
+ white.append((i, j))
+
+ sgf = ""
+ #TODO version numbering
+ sgf += "(;FF[4]GM[1]SZ[19]AP[Imago:0.1.0]"
+ sgf += "AB" + ''.join('[' + coords[j] + coords[i] + ']' for (i, j) in black)
+ sgf += "AW" + ''.join('[' + coords[j] + coords[i] + ']' for (i, j) in white)
+ sgf += ")"
+
+class Board:
+ def __init__(self, size, stones):
+ self.stones = stones
+ self.size = size
+
+ def __str__(self):
+ lines = []
+ k = 0
+ for i in range(self.size):
+ line = []
+ for j in range(self.size):
+ line.append(self.stones[k])
+ k += 1
+ lines.append(" ".join(line))
+ return ("\n".join(lines))
+
+
+
+class Game:
+ def __init__(self, size):
+ self.board = (size * size) * "."
+ self.moves = []
+
+ def add(self, board):
+ self
+