public String canShoot() 
    {
    	if (agent.getArrow())
    	{
    		boolean flag = false;
			int[] pos = new int[2];
		 	
			// Verifica se o Wumpus esta no mesmo X ou Y do agente
			// (baseado no conhecimento do agente)
			// !---!---!---!---!---!---!---!---!---!---!---!---!---!---!---!---!---!---!
			// A principio o agente so atira se tiver certeza da posicao do wumpus
			// a busca nao-segura talvez nao devesse levar isso em consideracao
			// !---!---!---!---!---!---!---!---!---!---!---!---!---!---!---!---!---!---!
		 	for (int i = 0; i < 4; i++)
		 		if ((board[i][x].getWumpus() == 1)) // || (board[i][x].getWumpus() == 2))
	 			{
		 			flag = true;
		 			pos[0] = i;
		 			pos[1] = x;
		 			break;
		 		}
		 		else if ((board[y][i].getWumpus() == 1)) // || (board[y][i].getWumpus() == 2))	 			
		 		{
		 			flag = true;
		 			pos[0] = y;
		 			pos[1] = i;
		 			break;
		 		}
		 	
		 	// Caso o Wumpus esteja no mesmo X ou Y do agente
		 	if (flag)
		 	{
		 		String goal = "";
		 		
		 		// Verifica em que direcao o Wumpus se encontra
		 		// (com relacao ao agente) 
		 		pos[0] = y - pos[0];
		 		pos[1] = x - pos[1];
		 		
		 		// Como a verificacao eh na horizontal e vertical,
		 		// um dos resultados sempre sera 0
		 		if (pos[0] == 0)
		 		{
		 			if (pos[1] > 0)
		 				goal = "Left";
	 				else
	 					goal = "Right";
		 		}
		 		else
		 		{
		 			if (pos[0] > 0)
		 				goal = "Up";
	 				else
	 					goal = "Down";
		 		}
		 		
		 		// Se a orientacao equivale a orientacao do agente,
		 		// entao pode atirar
		 		if (goal.equals(agent.getOrientation()))
		 			return "OK";
		 		
		 		// Retorna a melhor direcao de rotacao 
		 		// (para chegar numa orientacao em que seja possivel
		 		// atirar no wumpus)
		 		return bestRotation(agent.getOrientation(),goal);		 		
		 	}
    	}
	 	return "";
    }