diff --git a/src/util.py b/src/util.py --- a/src/util.py +++ b/src/util.py @@ -1,3 +1,4 @@ +import random import multiprocessing import logging as log @@ -34,3 +35,19 @@ class MsgQueue: def setHandler(self,handler): self._handleEvent=handler + + +rand=random.Random() +rand.seed(361) +zobristNums=tuple( + tuple( + tuple(rand.getrandbits(32) for i in range(3)) for c in range(19) + ) for r in range(19) +) + +def hashBoard(board): + res=0 + for (r,row) in enumerate(board): + for (c,item) in enumerate(row): + res^=zobristNums[r][c][item+1] + return res