Пример #1
0
        private void desenharLinhas(Populacao pop, Color cor)
        {
            Pen caneta = new Pen(cor, 4);
            int geneA, geneB;

            Individuo melhor = pop.getMelhorIndividuo();

            for (int i = 0; i < Configuracao.tamanhoCromossomo; i++)
            {
                if (i < Configuracao.tamanhoCromossomo - 1)
                {
                    geneA = melhor.cromossomo[i];
                    geneB = melhor.cromossomo[i + 1];
                }
                else
                {
                    geneA = melhor.cromossomo[i];
                    geneB = melhor.cromossomo[0];
                }

                int[] coordenadaA = mapa.getCordenadas(geneA);
                int[] coordenadaB = mapa.getCordenadas(geneB);

                g.DrawLine(caneta, coordenadaA[0], coordenadaA[1], coordenadaB[0], coordenadaB[1]);
            }
        }
Пример #2
0
        private void btnExportarMelhorIndiv_Click(object sender, EventArgs e)
        {
            string    strPath  = Environment.GetFolderPath(System.Environment.SpecialFolder.DesktopDirectory);
            String    now      = DateTime.Now.Ticks + "";
            string    fileName = "melhor_resultado_" + now + ".txt";
            Individuo best     = populacao.getMelhorIndividuo();

            using (StreamWriter outputFile = new StreamWriter(Path.Combine(strPath, fileName)))
            {
                outputFile.WriteLine("ID" + " - " + "X" + "/" + "Y");
                for (int i = 0; i < Configuracao.tamanhoCromossomo; i++)
                {
                    outputFile.WriteLine(best.cromossomo[i] + 1 + " - " + mapa.getCoordenadaX(best.cromossomo[i]) + "/" + mapa.getCoordenadaY(best.cromossomo[i]));
                }
            }
            MessageBox.Show("Arquivo " + fileName + " salvo com sucesso na sua Área de Trabalho", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }