class Tikz:
content=""
footer=""
extension="tex"
highNumbers=True
def __init__(self):
self.content=r'''\begin{tikzpicture}
\draw[step=\boardSquare,gray,very thin] (0,0) grid (18\boardSquare,18\boardSquare);
\draw (0,0) rectangle (18\boardSquare,18\boardSquare);
'''
# hvězdy
for i in range(3):
for j in range(3):
self.content+=r''' \filldraw[fill=black] ({0}\boardSquare,{1}\boardSquare) circle[radius=0.04];'''.format(6*i+3, 6*j+3)+'\n'
self.content+='\n'
self.footer=r'\end{tikzpicture}' '\n'
def __str__(self):
return self.content+self.footer
def drawStone(self,x,y,color):
fill="black" if color=="b" else "white"
self.content+=r' \filldraw[draw=black,fill={0}] ({1}\boardSquare,{2}\boardSquare) circle[radius=0.5\boardSquare];'.format(fill,x,18-y)+'\n'
def drawMove(self,x,y,label,color):
fill="black" if color=="b" else "white"
labelColor="white" if color=="b" else "black"
if (not self.highNumbers) and isinstance(label,int) and label%100!=0: label=label%100 # dost neobratná logika
self.content+=r' \filldraw[draw=black,fill={0}] ({1}\boardSquare,{2}\boardSquare) circle[radius=0.5\boardSquare] node[color={3}]{{{4}}};'.format(fill,x,18-y,labelColor,label)+'\n'
def getContent(self):
return self.content+self.footer