public void CuatroPorCuatroCambiaAMoto()
        {
            Vehiculo vehiculo       = Vehiculo.CuatroPorCuatro();
            Sorpresa cambioVehiculo = new SorpresaCambioVehiculo();

            Assert.IsTrue(vehiculo.Tipo is CuatroPorCuatro);
            cambioVehiculo.Accionar(vehiculo);
            Assert.IsTrue(vehiculo.Tipo is Moto);
        }
예제 #2
0
        private void MenuVehiculo(Screen mainScreen)
        {
            ChoiceControl motoChoice            = new ChoiceControl();
            ChoiceControl autoChoice            = new ChoiceControl();
            ChoiceControl cuatroPorCuatroChoice = new ChoiceControl();

            motoChoice.Bounds = new UniRectangle(
                graphics.PreferredBackBufferWidth / 2 - 60, 275, 120.0f, 16.0f);
            motoChoice.Text     = "Moto";
            motoChoice.Selected = true;
            mainScreen.Desktop.Children.Add(motoChoice);
            //
            // autoChoice
            //
            autoChoice.Bounds = new UniRectangle(
                graphics.PreferredBackBufferWidth / 2 - 60, 295, 120.0f, 16.0f);
            autoChoice.Text = "Auto";
            mainScreen.Desktop.Children.Add(autoChoice);
            //
            // cuatroPorCuatroChoice
            //
            cuatroPorCuatroChoice.Bounds = new UniRectangle(
                graphics.PreferredBackBufferWidth / 2 - 60, 315, 120.0f, 16.0f);
            cuatroPorCuatroChoice.Text = "4x4";
            mainScreen.Desktop.Children.Add(cuatroPorCuatroChoice);

            ButtonControl jugarButton = new ButtonControl();

            jugarButton.Bounds = new UniRectangle(
                graphics.PreferredBackBufferWidth / 2 - 60, 350, 120.0f, 50.0f);
            jugarButton.Text = "Aceptar";
            mainScreen.Desktop.Children.Add(jugarButton);

            jugarButton.Pressed += delegate(object sender, EventArgs arguments)
            {
                if (motoChoice.Selected)
                {
                    vehiculo = Vehiculo.Moto();
                }
                else
                if (autoChoice.Selected)
                {
                    vehiculo = Vehiculo.Auto();
                }
                else
                if (cuatroPorCuatroChoice.Selected)
                {
                    vehiculo = Vehiculo.CuatroPorCuatro();
                }

                jugador = new Jugador(nombre, vehiculo);
                mainScreen.Desktop.Children.Clear();
                menuVehiculo   = false;
                menuDificultad = true;
            };
        }
예제 #3
0
        public void PenalizarCuatroPorCuatroNoLaDejaPasar()
        {
            Vehiculo cuatroXcuatro = Vehiculo.CuatroPorCuatro();
            Piquete  piquete       = new Piquete();

            piquete.Penalizar(cuatroXcuatro);

            Assert.IsTrue(cuatroXcuatro.Movimientos == 1);
            Assert.IsFalse(piquete.PermiteMover(cuatroXcuatro));
        }
예제 #4
0
        public void PenalizarCuatroXCuatroNoAgregaMovimientosYPermiteMover()
        {
            Vehiculo  cuatroXcuatro = Vehiculo.CuatroPorCuatro();
            Obstaculo pozo          = new Pozo();

            pozo.Penalizar(cuatroXcuatro);

            Assert.IsTrue(cuatroXcuatro.Movimientos == 0);
            Assert.IsTrue(pozo.PermiteMover(cuatroXcuatro));
        }
예제 #5
0
        public void AccionarReduceEl20PorCientoDeLosMovimientosDeCuatroXCuatro()
        {
            Vehiculo vehiculo = Vehiculo.CuatroPorCuatro();
            Sorpresa sorpresa = new SorpresaFavorable();

            vehiculo.AgregarMovimientos(5);

            sorpresa.Accionar(vehiculo);

            Assert.IsTrue(vehiculo.Movimientos == 4);
        }
예제 #6
0
        public void SiPenalizaCuatroPorCuatroDespuesDeIntentarVariasVecesYPermiteMover()
        {
            Vehiculo cuatroPorCuatro = Vehiculo.CuatroPorCuatro();

            Obstaculo controlPolicial = new ControlPolicial();

            while (cuatroPorCuatro.Movimientos == 0)
            {
                controlPolicial.Penalizar(cuatroPorCuatro);
            }

            Assert.IsTrue(cuatroPorCuatro.Movimientos == 3);

            Assert.IsTrue(controlPolicial.PermiteMover(cuatroPorCuatro));
        }
예제 #7
0
        public void CreoJuegoEnModoModerado()
        {
            Jugador jugador = new Jugador("Juan", Vehiculo.CuatroPorCuatro());

            Juego juego = new JuegoModerado(jugador);

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

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

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

            Assert.IsTrue(juego.NombreDelVehiculo() == "4x4");

            Assert.IsTrue(juego.Puntos() == 120);
        }