Como deixar meu jogo da velha "Inteligente"?

A alguns dias terminei de fazer um jogo da velha de um Jogador vs Máquina, o problema é que o método de decisão dele é meio “Burro”, ele funciona a base de ifs, esses ifs checam se o local já foi marcado e se o numero sorteado é o mesmo que está no if, caso o if com o número sorteado já tenha sido marcado ele percorre todos os ifs até gerar outro número aleatório e assim sucessivamente até conseguir entrar em algum if e marcar “O”, eu queria saber como faço pra deixar ele mais espertinho.

Não tive tempo de ler o artigo todo, mas acho que este algoritmo pode ajudar:

Já sei do Minimax, mas não consigo encontrar o código para poder adaptar ao meu jogo.

Este seu jogo tá no github ou é algo que vc possa compartilhar? É que talvez, se sua dificuldade é adaptar o algoritmo pra sua situação, vendo seu código, alguém poderia ajudar melhor.

Bem, eu só queria o código do algoritmo mesmo, mas se alguém puder adaptar ele pro meu jogo eu agradeço.

Acabei de encontrar estes links, pode lhe ajudar:

Esse eu achei bagunçado e não testei:

Este eu baixei e testei:

Espero que ajude.

Ok, vou dar uma olhada