public void Faz_Tudo(String arq, int max)
	{
		Leitor le;
		Celula[][] mapa_lido;
		int[][] mundo_int = null;
		int t = 0;

		le = new Leitor();
		try
		{
			mundo_int = le.LerArquivo(arq);
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}

		l = le.Getl();
		c = le.Getc();

		mapa_lido = mIntTomCelula(mundo_int, l, c);

		mapa_atual = mapa_lido;
		while(t < max)
		{
			mapa_prox = new Celula[l][c];

			for(int k1 = 0; k1 < l; k1 ++)
				for(int k2  = 0; k2 < c; k2 ++)
					mapa_prox[k1][k2] = new Celula(NADA, 0);
			processaDefunto();
			processaNada();
			processaPredador();
			processaPresa();
			processaReciclador();
			ContaTudo();

			for(int i = 0; i < l; i++)
			{
				for(int j = 0; j < c; j++)
				{
					System.out.print(mapa_atual[i][j].tipo + " ");
				}
				System.out.printf("\n");
			}
			System.out.printf("\n%d\n", t++);

			try
			{
				Thread.sleep(10);
			}
			catch(Exception e)
			{
				e.printStackTrace();
			}
			mapa_atual = mapa_prox;
		}
	}