Exemple #1
0
        private void BotonCargar_Click(object sender, EventArgs e)
        {
            OpenFileDialog dialogoAbrirArchivo = new OpenFileDialog
            {
                Filter           = "dat files (*.dat)|*.dat",
                RestoreDirectory = true
            };

            if (dialogoAbrirArchivo.ShowDialog() == DialogResult.OK)
            {
                //Realizamos la lectura
                string     RutaArchivo  = dialogoAbrirArchivo.FileName.ToString();
                FileStream archivo      = File.Open(RutaArchivo, FileMode.Open, FileAccess.Read);
                byte[]     arregloBytes = new byte[1000000];
                archivo.Read(arregloBytes, 0, arregloBytes.Length);
                archivo.Close();
                IFormatter formateador   = new BinaryFormatter();
                Stream     transferencia = new MemoryStream(arregloBytes, true);
                Partida    partida       = (Partida)formateador.Deserialize(transferencia);
                transferencia.Close();
                //Preparamos los datos a cargar
                CuadrosX = partida.CX;
                CuadrosY = partida.CY;
                Modo     = partida.M;
                CrearCuadricula(partida.O);
                Link = partida.L;
                Casa = partida.C;
                if (Link != null)
                {
                    Link.Colocar();
                    BotonCasa.Enabled = true;
                }
                if (Casa != null)
                {
                    Casa.Colocar();
                    BotonObstaculo.Enabled = true;
                    BotonLineaRectaReconocimiento.Enabled = true;
                    BotonLineaRectaSimple.Enabled         = true;
                    BotonRandomReconocimiento.Enabled     = true;
                    CajaTextoVisibles.Enabled             = true;
                    CajaTextoOcultos.Enabled = true;
                    if (Link.PruebasReconocimientoRandom != null)
                    {
                        BotonMejorRuta.Enabled = true;
                    }
                }
                CajaTextoCuadrosBase.Text   = CuadrosX.ToString();
                CajaTextoCuadrosAltura.Text = CuadrosY.ToString();
                if (Link.EnCasa)
                {
                    BloquearEscenario();
                }
                Text = "Prueba 1 - " + RutaArchivo;
            }
        }
Exemple #2
0
        private void BotonGuardar_Click(object sender, EventArgs e)
        {
            SaveFileDialog dialogoGuardarArchivo = new SaveFileDialog
            {
                Filter           = "dat files (*.dat)|*.dat",
                RestoreDirectory = true
            };

            if (dialogoGuardarArchivo.ShowDialog() == DialogResult.OK)
            {
                //Preparamos el objeto a guardar
                bool[,] Obstaculos = new bool[CuadrosX, CuadrosY];
                for (int i = 0; i < CuadrosX; i++)
                {
                    for (int j = 0; j < CuadrosY; j++)
                    {
                        if (Ambiente[i, j].Image != null)                         // && (i != Link.X && j != Link.Y) && (i != Casa.X && j != Casa.Y)
                        {
                            Obstaculos[i, j] = true;
                        }
                        else
                        {
                            Obstaculos[i, j] = false;
                        }
                    }
                }
                Partida partida = new Partida(CuadrosX, CuadrosY, Modo, Obstaculos, Link, Casa);
                //Realizamos el guardado
                byte[]     arregloBytes  = new byte[1000000];            //1Mb
                IFormatter formateador   = new BinaryFormatter();
                Stream     transferencia = new MemoryStream(arregloBytes, true);
                formateador.Serialize(transferencia, partida);
                transferencia.Close();
                string     RutaArchivo = dialogoGuardarArchivo.FileName.ToString();
                FileStream archivo     = File.Create(RutaArchivo);
                archivo.Write(arregloBytes, 0, arregloBytes.Length);
                archivo.Close();
                MessageBox.Show("Ambiente guardado");
                Text = "Prueba 1 - " + RutaArchivo;
            }
        }