コード例 #1
0
        public Juego cargarJuego(string nombreJugador)
        {
            using (XmlReader reader = XmlReader.Create(nombreJugador + ".xml"))
            {
                String   nombre;
                int      movimientos = 0;
                int      posicionX   = 0;
                int      posicionY   = 0;
                Juego    juego       = new JuegoFacil(new Jugador("a", new Vehiculo()));
                String   tipo;
                Vehiculo vehiculo = Vehiculo.Auto();
                while (reader.Read())
                {
                    // Only detect start elements.
                    if (reader.IsStartElement())
                    {
                        if (reader.Name == "nombre")
                        {
                            reader.Read();
                            nombre = reader.Value.Trim();
                        }

                        if (reader.Name == "movimientos")
                        {
                            reader.Read();
                            movimientos = Convert.ToInt32(reader.Value.Trim());
                        }

                        if (reader.Name == "x")
                        {
                            reader.Read();
                            posicionX = Convert.ToInt32(reader.Value.Trim());
                        }

                        if (reader.Name == "y")
                        {
                            reader.Read();
                            posicionY = Convert.ToInt32(reader.Value.Trim());
                        }

                        if (reader.Name == "tipo")
                        {
                            reader.Read();
                            tipo = reader.Value.Trim();

                            foreach (Vehiculo tipo_de_vehiculo in list)
                            {
                                if (tipo_de_vehiculo.Tipo.Nombre() == tipo)
                                {
                                    vehiculo = tipo_de_vehiculo;
                                    vehiculo.AgregarMovimientos(movimientos);
                                }
                            }
                        }

                        if (reader.Name == "dificultad")
                        {
                            reader.Read();
                            int dificultad = Convert.ToInt32(reader.Value.Trim());

                            if (new JuegoDificil(new Jugador("a", new Vehiculo())).LimiteDeMovimientos == dificultad)
                            {
                                juego = new JuegoDificil(new Jugador(nombreJugador, vehiculo));
                            }
                            if (new JuegoModerado(new Jugador("a", new Vehiculo())).LimiteDeMovimientos == dificultad)
                            {
                                juego = new JuegoModerado(new Jugador(nombreJugador, vehiculo));
                            }
                            if (new JuegoFacil(new Jugador("a", new Vehiculo())).LimiteDeMovimientos == dificultad)
                            {
                                juego = new JuegoFacil(new Jugador(nombreJugador, vehiculo));
                            }
                            Esquina esquina = juego.Mapa.GetEsquina(posicionX, posicionY);
                            vehiculo.Esquina = esquina;
                        }
                    }
                }
                return(juego);
            }
        }
コード例 #2
0
 public void SetEsquina(Orientacion orient, Esquina esq)
 {
     this.esquinas[(int)orient] = esq;
 }