Files
@ 7cb01d4080c9
Branch filter:
Location: OneEye/src/go/gamerecord.py - annotation
7cb01d4080c9
1.2 KiB
text/x-python
a hinted neural network (failed)
3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 3798475f45c1 | from util import colorNames
class Point:
def __init__(self,c,r):
self.r=r
self.c=c
def __iter__(self):
yield self.c
yield self.r
def __str__(self):
a=ord("a")
return chr(a+self.c)+chr(a+self.r)
class GameRecord:
def __init__(self):
self.playerB=""
self.playerW=""
self.root=Node()
self.currNode=self.root
def move(self,color,row,col):
if color not in colorNames:
raise ValueError("invalid color: {0}".format(color))
colorName=colorNames[color]
res=Node()
res.properties[colorName]=Point(col,row)
self.currNode.children.append(res)
self.currNode=res
return res
def __str__(self):
res=["("]
stack=[self.root]
while len(stack)!=0:
v=stack.pop()
res.append(v)
if v==")": continue
if len(v.children)>1:
res.append("(")
stack.append(")")
stack.extend(reversed(v.children))
res.append(")")
return "".join(str(x) for x in res)
class Node:
def __init__(self):
self.properties=dict()
self.parent=None
self.children=[]
## Returns textual representation of the Node itself, but disregards its children.
def __str__(self):
return ";" + "".join("{0}[{1}]".format(k,str(p)) for (k,p) in self.properties.items())
|