Ejemplo n.º 1
0
def main():

    wumppus = Wumppus()
    mapa = Mapa()

    #cria o wumppus
    mapa.criarWumppus(wumppus)

    #cria os pocos
    mapa.criarPocos(wumppus)

    #seta o ouro
    mapa.inserirOuro()

    mapa.printMapa()

    #debug
    for i in range(0, len(mapa.listaDePocos)):
        print mapa.listaDePocos[i]

    #cria Guerreiro
    guerreiro = Guerreiro()

    while True:
        listaSensacao = mapa.pegarSensacao(guerreiro)
        guerreiro.agir(listaSensacao)
        input()
Ejemplo n.º 2
0
class Guerreiro:
    memoria = None
    flecha = 1
    posicaoAtual = None
    posicaoSupostaWumppus = []
    posicaoSupostaOuro = None
    score = 0 
    supostaPosicaoPocos = None
    sensacoes = None


    def __init__(self):

        self.memoria = Mapa()
        self.posicaoAtual = [0,0]
        self.posicaoSupostaOuro = []
        self.supostaPosicaoPocos = []
        self.sensacoes = []


    def agir(self, listaSensacoes):
        self.sensacoes = listaSensacoes
        print listaSensacoes.mostrarEspaco()
        self.copiaParaMemoria
        self.atualizaConhecimento()
        print "memoria atual do Agente"
        self.memoria.printMapa()
        self.tomarDecisao()




    def copiaParaMemoria (self):
        self.memoria.mapa[self.posicaoAtual[0]][self.posicaoAtual[1]].wumppus = listaSensacoes.wumppus
        self.memoria.mapa[self.posicaoAtual[0]][self.posicaoAtual[1]].ouro = listaSensacoes.ouro
        self.memoria.mapa[self.posicaoAtual[0]][self.posicaoAtual[1]].fedo = listaSensacoes.fedo
        self.memoria.mapa[self.posicaoAtual[0]][self.posicaoAtual[1]].briza = listaSensacoes.briza
        self.memoria.mapa[self.posicaoAtual[0]][self.posicaoAtual[1]].poco = listaSensacoes.poco
        self.memoria.mapa[self.posicaoAtual[0]][self.posicaoAtual[1]].visitado = 1



    #movimentoDoJogador
    def moveUp(self):
        pass
        
    def moveUp(self):
        pass

    def moveUp(self):
        pass

    def moveUp(self):
        pass

    def AtirarFlecha(self):
        pass

    def pegarOuro(self):
        pass


    def gerarPossibilidades(self):
        pass


    def atualizaConhecimento(self):

       self.atualizaAdjPersonagem()


    def atualizaAdjPersonagem(self):

        if self.posicaoAtual[0] - 1 >= 0 :
            print "kkkkkkk"
            print self.posicaoAtual[0] - 1
            if self.memoria.mapa[self.posicaoAtual[0]-1][self.posicaoAtual[1]].visitado== 0: 

                if self.memoria.mapa[self.posicaoAtual[0]][self.posicaoAtual[1]].briza == 1:
                    self.memoria.mapa[0 - 1][self.posicaoAtual[1]].poco = 1
                if self.memoria.mapa[self.posicaoAtual[0]][self.posicaoAtual[1]].fedo == 1:
                    self.memoria.mapa[0 - 1][self.posicaoAtual[1]].wumppus = 1

        
        if self.posicaoAtual[0] + 1 < 4 :
            print "blabla"
            obj = self.memoria.mapa[self.posicaoAtual[0]+1][self.posicaoAtual[1]]
            if obj.visitado == 0:

                if self.memoria.mapa[self.posicaoAtual[0]][self.posicaoAtual[1]].briza == 1:
                    self.memoria.mapa[self.posicaoAtual[0] + 1][self.posicaoAtual[1]].poco = 1
                if self.memoria.mapa[self.posicaoAtual[0]][self.posicaoAtual[1]].fedo == 1:
                    self.memoria.mapa[0 - 1][self.posicaoAtual[1]].wumppus = 1

        print "teste if2"

        if self.posicaoAtual[1] - 1 >= 0 :
            if self.memoria.mapa[self.posicaoAtual[0]][self.posicaoAtual[1] - 1].visitado == 0:

                if self.memoria.mapa[self.posicaoAtual[0]][self.posicaoAtual[1]].briza == 1:
                    self.memoria.mapa[0][self.posicaoAtual[1] - 1].poco = 1
                if self.memoria.mapa[self.posicaoAtual[0]][self.posicaoAtual[1]].fedo == 1:
                    self.memoria.mapa[0][self.posicaoAtual[1] - 1].wumppus = 1

        print "teste if3"

        if self.posicaoAtual[1] + 1 < 4 :
            if self.memoria.mapa[self.posicaoAtual[0]][self.posicaoAtual[1] + 1].visitado == 0:

                if self.memoria.mapa[self.posicaoAtual[0]][self.posicaoAtual[1]].briza == 1:
                    self.memoria.mapa[0][self.posicaoAtual[1] + 1].poco = 1
                if self.memoria.mapa[self.posicaoAtual[0]][self.posicaoAtual[1]].fedo == 1:
                    self.memoria.mapa[0][self.posicaoAtual[1] + 1].wumppus = 1

        print "teste if4"


    def atualizaMemoria(self):
        for i in range(0, len(self.memoria.mapa)):
            for j in range (0, len(self.memoria.mapa[i])):
                if self.memoria.mapa[i][j].visitado == 0 :
                    analizaAdj(i,j)
                    



    
    def atualizAdjTarget(self, i,j):
        
        if j - 1 >= 0 :
        
            if self.memoria.mapa[i][j - 1].visitado== 0: 

                if self.memoria.mapa[i][j].briza == 1:
                    self.memoria.mapa[0 - 1][self.posicaoAtual[1]].poco = 1
                if self.memoria.mapa[self.posicaoAtual[0]][self.posicaoAtual[1]].fedo == 1:
                    self.memoria.mapa[0 - 1][self.posicaoAtual[1]].wumppus = 1

        
        if self.posicaoAtual[0] + 1 < 4 :
            print "blabla"
            obj = self.memoria.mapa[self.posicaoAtual[0]+1][self.posicaoAtual[1]]
            if obj.visitado == 0:

                if self.memoria.mapa[self.posicaoAtual[0]][self.posicaoAtual[1]].briza == 1:
                    self.memoria.mapa[self.posicaoAtual[0] + 1][self.posicaoAtual[1]].poco = 1
                if self.memoria.mapa[self.posicaoAtual[0]][self.posicaoAtual[1]].fedo == 1:
                    self.memoria.mapa[0 - 1][self.posicaoAtual[1]].wumppus = 1

        print "teste if2"

        if self.posicaoAtual[1] - 1 >= 0 :
            if self.memoria.mapa[self.posicaoAtual[0]][self.posicaoAtual[1] - 1].visitado == 0:

                if self.memoria.mapa[self.posicaoAtual[0]][self.posicaoAtual[1]].briza == 1:
                    self.memoria.mapa[0][self.posicaoAtual[1] - 1].poco = 1
                if self.memoria.mapa[self.posicaoAtual[0]][self.posicaoAtual[1]].fedo == 1:
                    self.memoria.mapa[0][self.posicaoAtual[1] - 1].wumppus = 1

        print "teste if3"

        if self.posicaoAtual[1] + 1 < 4 :
            if self.memoria.mapa[self.posicaoAtual[0]][self.posicaoAtual[1] + 1].visitado == 0:

                if self.memoria.mapa[self.posicaoAtual[0]][self.posicaoAtual[1]].briza == 1:
                    self.memoria.mapa[0][self.posicaoAtual[1] + 1].poco = 1
                if self.memoria.mapa[self.posicaoAtual[0]][self.posicaoAtual[1]].fedo == 1:
                    self.memoria.mapa[0][self.posicaoAtual[1] + 1].wumppus = 1

        print "teste if4"



    def tomarDecisao(self):
        possibilidades = []
        naoPossibilidades = []
        self.gerarPossibilidades(possibilidades, naoPossibilidades):
        

    def gerarPossibilidades(self, possibilidades, naoPossibilidades):
        movimento = []
        if()