diff --git a/src/core.py b/src/core.py --- a/src/core.py +++ b/src/core.py @@ -7,6 +7,7 @@ from util import MsgQueue from gui import gui from imageanalyzer import ImageAnalyzer from go import Go, isLegalPosition +from statebag import StateBag import config as cfg @@ -15,6 +16,7 @@ class Core: self.grid=None self.go=Go() self.detector=ImageAnalyzer() + self.states=StateBag() self._ownMessages=MsgQueue(self._handleEvent) self._guiMessages=MsgQueue() @@ -48,7 +50,10 @@ class Core: def analyze(self): if self.detector.analyze(self._frame): if isLegalPosition(self.detector.board): + self.states.pushState(self.detector.board) self._guiMessages.send("setGameState",(self.detector.board,)) + + self.go.transitionMove(self.detector.board) else: log.info("illegal position detected")