def gerarCampoVisao(self, id_agente): """ Como esse jogo é muito simples e totalmente observável, vou apenas utilizar um dicionário diretamente, com uma tupla imutável, como objeto de visão. """ from percepcoes import PercepcoesJogador return PercepcoesJogador(tuple(self.elementos))
def gerarCampoVisao(self, id_agente): percepcoes_jogador = PercepcoesJogador(tabuleiro=self.tabuleiro, dimensoes=(8, 8), mensagem_jogo=self.msg_jogador) self.msg_jogador = None return percepcoes_jogador
def gerarCampoVisao(self, id_agente): """ Retorna um EstadoJogoView para ser consumido por um agente específico. Objeto deve conter apenas descrição de elementos visíveis para este agente. EstadoJogoView é um objeto imutável ou uma cópia do jogo, de forma que sua manipulação direta não tem nenhum efeito no mundo de jogo real. """ from percepcoes import PercepcoesJogador return PercepcoesJogador(tuple(self.elementos))
def gerarCampoVisao(self, id_agente): """ Retorna um EstadoJogoView para ser consumido por um agente específico. Objeto deve conter apenas descrição de elementos visíveis para este agente. EstadoJogoView é um objeto imutável ou uma cópia do jogo, de forma que sua manipulação direta não tem nenhum efeito no mundo de jogo real. """ sudoku = self.tabuleiro percepcoes_jogador = PercepcoesJogador( sudoku_valor=list[self.tabuleiro]) return sudoku
def gerarCampoVisao(self, id_agente): """ Retorna um EstadoJogoView para ser consumido por um agente específico. Objeto deve conter apenas descrição de elementos visíveis para este agente. EstadoJogoView é um objeto imutável ou uma cópia do jogo, de forma que sua manipulação direta não tem nenhum efeito no mundo de jogo real. """ percepcoes_jogador = PercepcoesJogador( personagens_esquerda=set(self.t1['Esquerda']), personagens_direita=set(self.t1['Direita']), mensagem_jogo=self.msg_jogador) self.msg_jogador = None return percepcoes_jogador
def estado_inicial(self, *args, **kwargs) -> EstadoAsteroids: posicao_asteroides = {(100, 150), (200, 150), (400, 150), (500, 150)} self.asteroides = posicao_asteroides self.id_personagens = {Personagens.JOGADOR_ASTEROIDS: 0} self.posicaoNave = (400, 500) self.dimensoes = (800, 600) self.estadoBala = "pronto" percepcoes_jogador = PercepcoesJogador(pos_asteroids=set( self.asteroides), dimensoes=self.dimensoes, posicao_nave=self.posicaoNave, estado_bala=self.estadoBala) return percepcoes_jogador
def gerarCampoVisao(self, id_agente): """ Retorna um EstadoJogoView para ser consumido por um agente específico. Objeto deve conter apenas descrição de elementos visíveis para este agente. EstadoJogoView é um objeto imutável ou uma cópia do jogo, de forma que sua manipulação direta não tem nenhum efeito no mundo de jogo real. """ percepcoes_jogador = PercepcoesJogador(pos_asteroids=set( self.asteroides), dimensoes=self.dimensoes, posicao_nave=self.posicaoNave, estado_bala=self.estadoBala) self.msg_jogador = None return percepcoes_jogador
def gerarCampoVisao(self, id_agente): percepcoes_jogador = PercepcoesJogador( tabuleiro=self.tabuleiro, dimensoes=(3, 3), posicao_vazia=self.posicao_vazia) return percepcoes_jogador