Skip to content

Colando um robô na partida

Alterando o código

Na linha 114 e 115 do arquivo connect4.py é possível ver o seguinte trecho de código:

posx = event.pos[0]
col = int(math.floor(posx/SQUARESIZE))

Precisamos trocar este trecho por algo como:

col = player.move(player_code, board)

Sendo que o player pode ser uma instância da classe:

class MeuJogador(Player):

def name(self):
    return "Meu Jogador super simples"

def move(self, player_code, board):
    # TODO lógica para escolher uma coluna
    return col
Como podemos implementar um jogador super simples?

Criando um jogador que joga de forma aleatória!

from random import randint
from Player import Player

class RandomPlayer(Player):

    def name(self):
        return "Random"

    #
    # retorna a coluna onde a bola será jogada
    #
    def move(self, player_code, board, depth):
        return randint(0, 6)
Humanos versus um robô super simples

Considerando que você já está no diretório src, digite:

python connect4_with_ai.py random
Vamos implementar algo um pouco mais eficiente?
  • Que abordagens podemos utilizar para implementar um robô mais inteligente?
  • O que seria uma robô mais "inteligente"?
Próxima etapa