def test_winconditions(self): """Make sure all win conditions are valid""" board = Board() """Testing top row win""" for i in range(0,3): board.inputMove(i, "X") self.assertTrue(board.checkForWinner("X")) board.__init__ """Testing middle row win""" for i in range(3, 6): board.inputMove(i, "X") self.assertTrue(board.checkForWinner("X")) board.__init__ """Testing bottom row win""" for i in range(6, 9): board.inputMove(i, "X") self.assertTrue(board.checkForWinner("X")) board.__init__ """Testing left vertical column win""" for i in range(0, 7, 3): board.inputMove(i, "X") self.assertTrue(board.checkForWinner("X")) board.__init__ """Testing middle vertical column win""" for i in range(1, 8, 3): board.inputMove(i, "X") self.assertTrue(board.checkForWinner("X")) board.__init__ """Testing right vertical column win""" for i in range(2, 9, 3): board.inputMove(i, "X") self.assertTrue(board.checkForWinner("X")) board.__init__ """Testing \ diagonal win""" for i in range(0, 9, 4): board.inputMove(i, "X") self.assertTrue(board.checkForWinner("X")) board.__init__ """Testing / diagonal win""" for i in range(2, 7, 2): board.inputMove(i, "X") self.assertTrue(board.checkForWinner("X")) board.__init__
if pos[0] > mo[i][0] and pos[0] < mo[i][0] + 100 and pos[ 1] > mo[i][1] and pos[1] < mo[i][1] + 66: # Input validation if (board.gs[i] == " "): # Draw the X pygame.draw.line(disp, green, (mo[i][0] + 25, mo[i][1] + 15), (mo[i][0] + 75, mo[i][1] + 55), 6) pygame.draw.line(disp, green, (mo[i][0] + 25, mo[i][1] + 55), (mo[i][0] + 75, mo[i][1] + 15), 6) board.inputMove(i, player) # Check for win condition if board.checkForWinner(player): displayMessage("You win!!", green, black, fontObj, 200, 340) # Check for draw so we can skip computers turn elif board.checkForDraw(): displayMessage("Looks like a cats game!!", white, black, fontObj, 250, 340) elif (board.playAgain == " "): cmove = board.moveAI(comp, player) board.inputMove(cmove, comp) # Draw the O pygame.draw.circle( disp, red, (mo[cmove][0] + 50, mo[cmove][1] + 35), 25, 6)