} a+="\n"; } if(!sala[posicao][4].equals("N")){ a += "Porta "+cor[posicao][4]+" a oeste; "; if(!inimigo[posicao][4].equals("N")){ a+="Ha um "+inimigo[posicao][4]+" bloquando esta porta."; } if(!trap[posicao][4].equals("N")){ a+="Ha uma armadilha nesta porta. "; } a+="\n"; } if(!sala[posicao][5].equals("N")){ a += "Escada "+cor[posicao][5]+" para Subir; "; if(!inimigo[posicao][5].equals("N")){ a+="Ha um "+inimigo[posicao][5]+" bloquando esta Escada."; } if(!trap[posicao][5].equals("N")){ a+="Ha uma armadilha nesta Escada. "; } a+="\n"; } if(!sala[posicao][6].equals("N")){ a += "Escada "+cor[posicao][6]+" para descer; "; if(!inimigo[posicao][6].equals("N")){ a+="Ha um "+inimigo[posicao][6]+" bloquando esta Escada."; } if(!trap[posicao][6].equals("N")){ a+="Ha uma armadilha nesta Escada. "; } a+="\n"; } for(int i=0; i<7; i++){ if(!tesouro[posicao][i].equals("N")){ a +="Tesouro: "+tesouro[posicao][i]+"\n"; } } System.out.println(a); } //move o personagem pelo labirinto public void andar(String comando){ String aux=""; if(comando.equals("Andar Norte")){ nDirecao=1; } if(comando.equals("Andar Sul")){ nDirecao=2; } if(comando.equals("Andar Leste")){ nDirecao=3; } if(comando.equals("Andar Oeste")){ nDirecao=4; } if(comando.equals("Subir Escada")){ nDirecao=5; } if(comando.equals("Descer Escada")){ nDirecao=6; } // Testa se ha sala para onde o jogador quer se mover if(sala[posicao][nDirecao].equals("N")){ System.out.println("Nao ha porta para esta direcao. \n"); } else{ // testa se ha inimigo na porta e leva para o metodo de combate if (!inimigo[posicao][nDirecao].equals("N")){ aux=combate(posicao, nDirecao); if(!aux.equals(inimigo[posicao][nDirecao])){ inimigo[posicao][nDirecao]=aux; } } else{ // testa se ha armadilha na porta e leva para o metodo de dano da armadilha if(trap[posicao][nDirecao].equals("TRAP")){ danoArmadilha(); } } if((!cor[posicao][nDirecao].equals("D"))||(!cor[posicao][nDirecao].equals("Marrom"))){ abrirPorta(nDirecao); } if(inimigo[posicao][nDirecao].equals("N")){ if(cor[posicao][nDirecao].equals("Marrom")){ // comando que move o personagem para a proxima sala posicao = Integer.parseInt(sala[posicao][nDirecao]); } } } salaPresa(); descrever(); } // Este metodo teste se ha chave para abrir a porta correspondente. public void abrirPorta(int nDirecao){ // recupera a chave que o personagem carrega String aux = i.listatesouro(); // testa se a chave que o personagem carrega e igual a cor da porta if(cor[posicao][nDirecao].equals(aux)){ cor[posicao][nDirecao]="Marrom"; System.out.println("Voce abriu esta porta."); } else{ if(!cor[posicao][nDirecao].equals("Marrom")){ System.out.println("Voce nao possui a chave para abrir esta porta."); } } } public String cor(){ String cor=""; while (cor.equals("")){ int a = (int) (1+(Math.random() * 10)); switch(a){ case 1: cor = "Verde"; break; case 3: cor = "Vermelha"; break; case 5: cor = "Amarela"; break; case 7: cor = "Azul"; break; default: cor = "Marrom"; break; } } return cor; } public void pegarTesouro(String opcao){ String aux = ""; if(opcao.equals("Pegar Arma")){ if(!tesouro[posicao][1].equals("N")){ aux=i.listaarma(); i.getarma(tesouro[posicao][1]); tesouro[posicao][1]=aux; } else{ System.out.println("Nao ha arma no tesouro"); } } if(opcao.equals("Pegar Armadura")){ if(!tesouro[posicao][2].equals("N")){ aux=i.listaarmadura(); i.getarmadura(tesouro[posicao][2]); tesouro[posicao][2]=aux; } else{ System.out.println("Nao ha armadura no tesouro"); } } if(opcao.equals("Pegar Chave")){ if(!tesouro[posicao][3].equals("N")){ aux=i.listatesouro(); i.gettesouro(tesouro[posicao][3]); tesouro[posicao][3]=aux; } else{ System.out.println("Nao ha Chave no tesouro"); } } if(opcao.equals("Pegar Cura")){ if(!tesouro[posicao][4].equals("N")){ aux=i.listatesouro(); i.gettesouro(tesouro[posicao][4]); tesouro[posicao][4]=aux; } else{ System.out.println("Nao ha Pocao de Cura no tesouro"); } } if(opcao.equals("Pegar Fogo")){ if(!tesouro[posicao][5].equals("N")){ aux=i.listatesouro(); i.gettesouro(tesouro[posicao][5]); tesouro[posicao][5]=aux; } else{ System.out.println("Nao ha Fogo do Dragao no tesouro"); } } } // Desarma a armadilha. public void desarmarArmadilha(){ int a = (int) (1+(Math.random() * 10)); switch(a){ case 5: System.out.println("Voce nao conseguiu desarmar a armadilha. \n");break; default: System.out.println("Voce conseguiu desarmar a armadilha. \n"); trap[posicao][nDirecao]="N";break; } } //gera o combate entre o personagem e os inimigos public String combate(int posicao, int nDirecao){ Scanner entra = new Scanner(System.in); String sa=""+posicao; String di=""+nDirecao; for(int i=0;i<1000;i++){ if(dadosInimigo[i][2].equals(sa)){ if(dadosInimigo[i][3].equals(di)){ posicao=i; break; } } } String aux=""; aux=i.listatesouro(); int a=0, vida=0; if(!aux.equals(null)){ if(aux.equals("Fogo")){ System.out.println("Atacar com Arma ou com Fogo do Dragao?"); aux = entra.nextLine(); if(aux.equals("Usar Fogo")){ return "N"; } } } a