# Path: src/cte.py
# GOBAN_SIZE = 19
# 
# Path: src/cte.py
# WHITE = 2
# 
# Path: src/cte.py
# BLACK = 1
# 
# Path: src/kifu.py
# class Kifu:
#     """Clase para crear un fichero .sgf y guardar la partida. """
# 
#     def __init__(self, player1="j1", player2="j2", handicap=0, path="sgf", \
#             rank_player1='20k', rank_player2='20k'):
#         """Inicializamos configuración del archivo sgf. 
# 
#         :Param  player1: nombre del jugador 1
#         :Type  player1: str
#         :Keyword  player1: j1 por defecto
#         :Param  player2: nombre del jugador 2
#         :Type  player2: str
#         :Keyword  player2: j2 por defecto
#         :Param  handicap: handicap dado en la partida
#         :Type  handicap: int
#         :Keyword  handicap: ninguno por defecto (0)
#         :Param  path: ruta relativa donde guardamos el fichero
#         :Type  path: str
#         :Keyword  path: carpeta sgf por defecto
#         :Param  rank_player1: rango del jugador 1
#         :Type  rank_player1: str
#         :Keyword  rank_player1: 20k por defecto, nivel de inicio en el go
#         :Param  rank_player2: rango del jugador 2
#         :Type  rank_player2: str
#         :Keyword  rank_player2: 20k por defecto, nivel de inicio en el go """
#         self.num_jug = 0
#         self.player_black = player1
#         self.player_white = player2
#         filename = str(datetime.now()).replace(" ","_")  + "_" + player1 + "_vs_" + player2
#         self.dir = os.path.join(path, filename + ".sgf")
#         header_file = HEADER_SGF
#         header_file += [ "\nPB[%s]" %player1, "\nBR[%s]" %rank_player1, \
#                          "\nPW[%s]" %player2, "\nWR[%s]" %rank_player2]
#         with open(self.dir, "w") as f:
#             f.writelines(header_file)
# 
# 
#     def add_stone(self, pos, color):
#         """Añadir piedra al sgf. 
# 
#         :Param pos: posición de la piedra
#         :Type pos: tuple
#         :Param color: color de la piedra 
#         :Type color: int """
#         coord = chr(pos[0]+97) + chr(pos[1]+97) 
#         with open(self.dir, "a") as f:
#             if color == BLACK:
#                 f.write("\n;B[%s]" %coord)
#             elif color == WHITE:
#                 f.write("\n;W[%s]" %coord)
#             else:
#                 print _("el color debe ser BLACK or WHITE")
#         self.num_jug += 1
# 
# 
#     def end_file(self):
#         """Cerrar el fichero y dejarlo listo para poder abrirlo."""
#         with open(self.dir, "a") as f:
#             f.write(")")


from src.cte import GOBAN_SIZE
from src.cte import WHITE
from src.cte import BLACK
from src.kifu import Kifu
from igs import Igs
                if self.goban[st.x][st.y] != True:
                    print "Add", st.x+1, st.y+1
                    # add kifu e igs
                    self.kifu.add_stone((st.x, st.y), st.color)
                    self.igs.add_stone((st.x, st.y))
                    self.statistical[st.x][st.y] = [0, 8]
                    self.goban[st.x][st.y] = True
            elif values[1] <= 0 and values[0] > 0:
                self.statistical[st.x][st.y] = [0, 8]
                if self.goban[st.x][st.y] == True:
                    print "Piedra %d, %d quitada?." %(st.x, st.y)
                    # TODO comprobar piedras capturadas
                # falsa piedra
        self.stones.update(stones)



    def print_st(self):
        string = ""
        for x in range(self.size):
            for y in range(self.size):
                string += '%s' %str(self.statistical[y][x])
            string += "   " + str(x+1) + "\n"
        return string
    

    def __str__(self):
        string = ""
        for x in range(self.size):
            for y in range(self.size):

# Path: src/cte.py
# GOBAN_SIZE = 19
# 
# Path: src/cte.py
# WHITE = 2
# 
# Path: src/cte.py
# BLACK = 1
# 
# Path: src/kifu.py
# class Kifu:
#     """Clase para crear un fichero .sgf y guardar la partida. """
# 
#     def __init__(self, player1="j1", player2="j2", handicap=0, path="sgf", \
#             rank_player1='20k', rank_player2='20k'):
#         """Inicializamos configuración del archivo sgf. 
# 
#         :Param  player1: nombre del jugador 1
#         :Type  player1: str
#         :Keyword  player1: j1 por defecto
#         :Param  player2: nombre del jugador 2
#         :Type  player2: str
#         :Keyword  player2: j2 por defecto
#         :Param  handicap: handicap dado en la partida
#         :Type  handicap: int
#         :Keyword  handicap: ninguno por defecto (0)
#         :Param  path: ruta relativa donde guardamos el fichero
#         :Type  path: str
#         :Keyword  path: carpeta sgf por defecto
#         :Param  rank_player1: rango del jugador 1
#         :Type  rank_player1: str
#         :Keyword  rank_player1: 20k por defecto, nivel de inicio en el go
#         :Param  rank_player2: rango del jugador 2
#         :Type  rank_player2: str
#         :Keyword  rank_player2: 20k por defecto, nivel de inicio en el go """
#         self.num_jug = 0
#         self.player_black = player1
#         self.player_white = player2
#         filename = str(datetime.now()).replace(" ","_")  + "_" + player1 + "_vs_" + player2
#         self.dir = os.path.join(path, filename + ".sgf")
#         header_file = HEADER_SGF
#         header_file += [ "\nPB[%s]" %player1, "\nBR[%s]" %rank_player1, \
#                          "\nPW[%s]" %player2, "\nWR[%s]" %rank_player2]
#         with open(self.dir, "w") as f:
#             f.writelines(header_file)
# 
# 
#     def add_stone(self, pos, color):
#         """Añadir piedra al sgf. 
# 
#         :Param pos: posición de la piedra
#         :Type pos: tuple
#         :Param color: color de la piedra 
#         :Type color: int """
#         coord = chr(pos[0]+97) + chr(pos[1]+97) 
#         with open(self.dir, "a") as f:
#             if color == BLACK:
#                 f.write("\n;B[%s]" %coord)
#             elif color == WHITE:
#                 f.write("\n;W[%s]" %coord)
#             else:
#                 print _("el color debe ser BLACK or WHITE")
#         self.num_jug += 1
# 
# 
#     def end_file(self):
#         """Cerrar el fichero y dejarlo listo para poder abrirlo."""
#         with open(self.dir, "a") as f:
#             f.write(")")


# Path: src/goban.py
from src.cte import GOBAN_SIZE
from src.cte import WHITE
from src.cte import BLACK
from src.kifu import Kifu
from igs import Igs

                if self.goban[st.x][st.y] != True:
                    print "Add", st.x+1, st.y+1
                    # add kifu e igs
                    self.kifu.add_stone((st.x, st.y), st.color)
                    self.igs.add_stone((st.x, st.y))
                    self.statistical[st.x][st.y] = [0, 8]
                    self.goban[st.x][st.y] = True
            elif values[1] <= 0 and values[0] > 0:
                self.statistical[st.x][st.y] = [0, 8]
                if self.goban[st.x][st.y] == True:
                    print "Piedra %d, %d quitada?." %(st.x, st.y)
                    # TODO comprobar piedras capturadas
                # falsa piedra
        self.stones.update(stones)



    def print_st(self):
        string = ""
        for x in range(self.size):
            for y in range(self.size):
                string += '%s' %str(self.statistical[y][x])
            string += "   " + str(x+1) + "\n"
        return string
    

    def __str__(self):
        string = ""
        for x in range(self.size):
            for y in range(self.size):

                if self.goban[y][x] == BLACK: