static void Main(string[] args) { Labirinto lab = new Labirinto(); LabirintoParaGrafo labParaGrafo; Console.WriteLine("Bem vindo ao jogo de labirinto com grafos!"); lab.labirintoDoArquivo(); labParaGrafo = new LabirintoParaGrafo(lab.getLabirinto()); labParaGrafo.grafo.Caminha(0); Console.WriteLine("Pressione uma tecla para imprimir o labirinto do txt usado..."); Console.ReadKey(); Console.WriteLine(lab.ToString()); Console.WriteLine("Obs. O grafo parte da posição 1 e 1 do txt(sendo esta o início)"); Console.WriteLine("e sempre que encontra uma ponta(o 1 atual só possui um lado com outro 1),"); Console.WriteLine("uma bifurcação(o 1 atual possui 3 lados com número 1) ou"); Console.WriteLine("um cruzamento(o 1 atual possui 4 lados com número 1)"); Console.WriteLine("ele gera um vértice em sentido horário(caso o ultimo 1 verificado"); Console.WriteLine("esteja a esquerda ele procura novos vertices abaixo do 1 atual,"); Console.WriteLine("depois a direita do 1 atual e depois acima do 1 atual com o peso"); Console.WriteLine("sendo a quantidade de 1 econtrados no caminho até o novo vértice."); Console.WriteLine("\nPressione uma tecla para imprimir o grafo criado a partir do txt..."); Console.ReadKey(); labParaGrafo.grafo.imprimeGrafo(); Console.WriteLine("Pressione uma tecla para encerrar..."); Console.ReadKey(); }
private void Btn_Encontrar_Click(object sender, EventArgs e) { Labirinto labirinto = new Labirinto(arquivo); for (int linha = 0; linha < dgvLabirinto.RowCount; linha++) { for (int coluna = 0; coluna < dgvLabirinto.ColumnCount; coluna++) { dgvLabirinto.Rows[linha].Cells[coluna].Style.BackColor = Color.White; } } dgvCaminhos.Rows.Clear(); dgvCaminhos.Columns.Clear(); dgvCaminhos.Refresh(); labirinto.ExibirLabirinto(dgvLabirinto); osCaminhos = labirinto.BuscarCaminho(dgvLabirinto); if (osCaminhos.Count != 0) { if (osCaminhos.Count == 1) { MessageBox.Show($"Foi encontrado apenas um caminho"); } else { MessageBox.Show($"Foram encontrados {osCaminhos.Count} caminhos"); } labirinto.ExibirCaminhos(dgvCaminhos); } else { MessageBox.Show("O labirinto não tem saída"); } }