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"?