import random
from examplegame import theGame
class smartGame(theGame):
    def undoMove(self,x):
        self.board[x-1] = str(x)
    def getSmartMove(self):
        #Rule 1
        if self.board.count('X') + self.board.count('O') == 0:
            return 9
        #Rule 2
        for i in range(1,10):
            if self.isValidMove(i):
                self.makeMove(i)
                r = self.getResult()
                self.undoMove(i)
                if (r == 1):
                    return i
                
        #Rule 3
        self.switchPlayers()
        for i in range(1,10):
            if self.isValidMove(i):
                self.makeMove(i)
                r = self.getResult()
                self.undoMove(i)
                if (r == 1):
                    self.switchPlayers()
                    return i
            
        self.switchPlayers()
        
        m = random.randint(1,9)
        while(not self.isValidMove(m)):
            m = random.randint(1,9)
        return m
        
