def getState(poss): f = lambda sgn: 'O' if sgn == 'X' else 'X' sgn = 'O' s0 = initState for pos in map(int, poss): s0 = action(s0, pos, sgn) sgn = f(sgn) win = chkwin(s0) return C4State(s0, win, sgn)
def takeAction(s, pos, sgn): state1 = action(s.state, pos, sgn) s1 = getState(state1) return s1