Esempio n. 1
0
        public void CreoJuegoEnModoFacil()
        {
            Jugador jugador = new Jugador("Juan", Vehiculo.Auto());

            Juego juego = new JuegoFacil(jugador);

            Assert.IsTrue(juego.Modo == "Facil");

            Assert.IsTrue(juego.LimiteDeMovimientos == 80);

            Assert.IsTrue(juego.MovimientosSobrantes() == 80);

            Assert.IsTrue(juego.NombreDelVehiculo() == "Auto");

            Assert.IsTrue(juego.Puntos() == 80);

            Assert.IsTrue(juego.Jugador == jugador);

            Assert.IsTrue(juego.Mapa is Mapa);

            Assert.IsTrue(juego.GetLlegadaX() == 8);

            Assert.IsTrue(juego.GetLlegadaY() == 10);

            Assert.IsFalse(juego.JuegoTermino());

            Assert.IsFalse(juego.JugadorGano());
        }
        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);
            }
        }