예제 #1
0
        private void FecharCaminhoEncontrado()
        {
            if (Movimentos.EstaVazia)
            {
                todosOsCaminhosEncontrados = true;
                return;
            }

            int            i     = Movimentos.OTopo().Coordenada[0, 0];
            int            j     = Movimentos.OTopo().Coordenada[0, 1];
            List <int[, ]> lista = new List <int[, ]>();

            for (int i2 = 0; i2 < Matriz.GetLength(0); i2++)
            {
                for (int j2 = 0; j2 < Matriz.GetLength(1); j2++)
                {
                    if (Matriz[i2, j2].ToString().Equals("O"))
                    {
                        int[,] arr = new int[, ] {
                            { i2, j2 }
                        };
                        lista.Add(arr);
                    }
                }
            }

            Matriz       = (char[, ])MatrizOriginal.Clone();
            Matriz[i, j] = 'O';

            for (int i3 = 0; i3 < lista.Count; i3++)
            {
                Matriz[lista[i3][0, 0], lista[i3][0, 1]] = 'O';
            }
        }
예제 #2
0
 private void EncontrarFim()
 {
     for (int i = 0; i < Matriz.GetLength(0); i++)
     {
         for (int j = 0; j < Matriz.GetLength(1); j++)
         {
             if (Matriz[i, j].ToString().ToUpper().Equals("S"))
             {
                 Fim = new int[, ] {
                     { i, j }
                 }
             }
             ;
         }
     }
 }