public void persistirJuego(Juego juego)
        {
            string nombre_archivo = juego.Jugador.Nombre + ".xml";

            using (XmlWriter writer = XmlWriter.Create(nombre_archivo))
            {
                writer.WriteStartDocument();

                int  posicion_vehiculoX = 0;
                int  posicion_vehiculoY = 0;
                Mapa mapa = juego.Mapa;
                for (int x = 0; x < mapa.GetTamanio(); x++)
                {
                    for (int y = 0; y < mapa.GetTamanio(); y++)
                    {
                        if (mapa.GetEsquina(x, y) == juego.Jugador.Vehiculo.Esquina)
                        {
                            posicion_vehiculoX = x;
                            posicion_vehiculoY = y;
                        }
                    }
                }

                Vehiculo vehiculo = juego.Jugador.Vehiculo;
                writer.WriteStartElement("jugador");
                writer.WriteElementString("nombre", juego.Jugador.Nombre);
                writer.WriteElementString("movimientos", juego.Jugador.Vehiculo.Movimientos.ToString());
                writer.WriteElementString("tipo", vehiculo.Tipo.Nombre());
                writer.WriteElementString("x", posicion_vehiculoX.ToString());
                writer.WriteElementString("y", posicion_vehiculoY.ToString());
                writer.WriteElementString("dificultad", juego.LimiteDeMovimientos.ToString());

                writer.WriteEndElement();
            }

            StreamReader  sr = new StreamReader("PartidasGuardadas.txt");
            String        line;
            List <String> jugadores = new List <String>();

            while ((line = sr.ReadLine()) != null)
            {
                if (line == juego.Jugador.Nombre)
                {
                    jugadores.Add(juego.Jugador.Nombre);
                }
                else
                {
                    jugadores.Add(line);
                }
            }

            sr.Close();

            if (!jugadores.Contains(juego.Jugador.Nombre))
            {
                StreamWriter sw = new StreamWriter("PartidasGuardadas.txt", true);
                sw.WriteLine(juego.Jugador.Nombre);
                sw.Close();
            }
        }
Example #2
0
        public Juego(string modo, int limiteDeMovimientos, Jugador jugador)
        {
            this.modo = modo;

            this.limiteDeMovimientos = limiteDeMovimientos;

            this.jugador = jugador;

            mapa = new Mapa(11);

            jugador.Vehiculo.Esquina = mapa.GetEsquina(3, 0);

            llegadaX = 8;

            llegadaY = 10;

            mapa.GetEsquina(GetLlegadaX(), GetLlegadaY()).SetLlegada();
        }