Coders Packet

An Unbeatable TicTacToe AI in Python using minimax algorithm

By Divya Prackash Ravi

This is a command-line TicTacToe game written in Python where the player faces an unbeatable AI.

This packet that I have submitted contains the source code for a TicTacToe game with an unbeatable AI.

The AI is implemented with the concept of minimax tree where the AI either wins or draws the match.

def MiniMaxAB(board, depth, alpha, beta, player):

row = -1 col = -1

if depth == 0 or gameWon(board):

return [row, col, getScore(board)]


for cell in emptyCells(board):

setMove(board, cell[0], cell[1], player)

score = MiniMaxAB(board, depth - 1, alpha, beta, -player)

if player == X:

if score[2] > alpha:

alpha = score[2]

row = cell[0]

col = cell[1]


if score[2] < beta:

beta = score[2]

row = cell[0]

col = cell[1]

setMove(board, cell[0], cell[1], EMPTY)

if alpha >= beta:


if player == X:

return [row, col, alpha]


return [row, col, beta]


By using this snippet of code the AI decides where to place its move so that it would beneficial for it.

The entire code has been given in the project file along with some output screenshots

Download Complete Code


No comments yet