Exemplo n.º 1
0
 /// <summary>
 /// Esta función hace que empiece una partida de nuevo:
 ///     Resetea la casilla seleccionada null
 ///     Resetea el contador de salvados a 0
 ///     Resetea la imagen a presionar
 ///     Rellena el listado de casillas con casillas nuevas
 ///     Resetea el boolean que indica si la partida está acabada
 /// </summary>
 private void empezarNuevaPartida()
 {
     _casillaSeleccionada = null;
     _contadorSalvados    = 0; NotifyPropertyChanged("contadorSalvados");
     _listadoCasillas     = rellenarListaCasillas();
     NotifyPropertyChanged("listadoCasillas");
     _partidaEstaAcabada = false;
 }
Exemplo n.º 2
0
        public MainPageViewModel()
        {
            //Primero rellenamos el listado de casillas
            listadoCasillas = rellenarListaCasillas();

            //No hay ninguna casilla seleccionada, así que está a null
            _casillaSeleccionada = null;

            //El contador está a 0 al principio de la partida
            _contadorSalvados = 0;

            //La partida no está acabada
            _partidaEstaAcabada = false;
        }
        private async void playSelectedBoxSound(ClsCasilla casilla)
        {
            MediaElement mysong = new MediaElement();

            Windows.Storage.StorageFolder folder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("Assets");

            String archivoMusica = "";

            switch (casilla.Item.TipoItem)
            {
            case 1:
                if (casilla.Item.Monedas == 0)    //Si es un fantasma
                {
                    archivoMusica = "boo.wav";
                }
                else
                {
                    if (casilla.Item.Monedas == 20)    //si es una estrella
                    {
                        archivoMusica = "star.wav";
                    }
                    else
                    {
                        archivoMusica = "coin.wav";
                    }
                }
                break;

            case 2:
                archivoMusica = "mushroom.wav";
                break;

            case 3:
                archivoMusica = "bomb.wav";
                break;

            case 4:
                archivoMusica = "bowser.wav";
                break;
            }
            Windows.Storage.StorageFile file = await folder.GetFileAsync(archivoMusica);

            var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);

            mysong.SetSource(stream, file.ContentType);
            mysong.Play();
        }
Exemplo n.º 4
0
        /// <summary>
        /// Función que devuelve una lista con 16 bombas, de las cuales 5 son bombas, elegidas al azar
        /// </summary>
        /// <returns>List<ClsCasilla></returns>
        private List <ClsCasilla> rellenarListaCasillas()
        {
            Random            random = new Random();
            List <ClsCasilla> lista  = new List <ClsCasilla>();
            ClsCasilla        casilla;
            int casBomb1, casBomb2, casBomb3, casBomb4, casBomb5;

            casBomb1 = random.Next(0, 15);
            do
            {
                casBomb2 = random.Next(0, 15);
            } while (casBomb2 == casBomb1);
            do
            {
                casBomb3 = random.Next(0, 15);
            } while (casBomb3 == casBomb1 || casBomb3 == casBomb2);
            do
            {
                casBomb4 = random.Next(0, 15);
            } while (casBomb4 == casBomb1 || casBomb4 == casBomb2 || casBomb4 == casBomb3);
            do
            {
                casBomb5 = random.Next(0, 15);
            } while (casBomb5 == casBomb1 || casBomb5 == casBomb2 || casBomb5 == casBomb3 || casBomb5 == casBomb4);

            for (int i = 0; i < 16; i++)
            {
                if (i == casBomb1 || i == casBomb2 || i == casBomb3 || i == casBomb4 || i == casBomb5)
                {
                    casilla = new ClsCasilla(true);
                }
                else
                {
                    casilla = new ClsCasilla(false);
                }

                lista.Add(casilla);
            }

            return(lista);
        }
        /// <summary>
        /// Comentario: Este método nos permite generar un tablero aleatorio para
        /// la aplicación MapacheParty. El tablero constará de 5x5 casillas.
        /// Tendrá los siguientes items:
        /// -2 setas
        /// -1 bowser
        /// -4 bombas
        /// -18 cajas sorpresa
        /// </summary>
        public static void tableroAleatorio()
        {
            List <ClsCasilla> listadoCasillas = new List <ClsCasilla>();
            Random            random          = new Random();
            int  posicionCasilla = 0;
            bool bowserInsertado = false;

            for (int i = 0; i < 25; i++)//Rellenamos todo el tablero con cajas sorpresa
            {
                switch (random.Next(1, 3))
                {
                case 1:    //Caja sorpresa con monedas
                    listadoCasillas.Add(new ClsCasilla(new ClsItem(1, random.Next(1, 5)), true, false, "ms-appx:///Assets/caja_sorpresa_casilla.jpg"));
                    break;

                default:    //Caja sorpresa con fantasma
                    listadoCasillas.Add(new ClsCasilla(new ClsItem(1, 0), true, false, "ms-appx:///Assets/caja_sorpresa_casilla.jpg"));
                    break;
                }
            }

            for (int i = 0; i < 4; i++)//Insertamos las cuatro bombas en el tablero
            {
                posicionCasilla = random.Next(0, 24);
                if (listadoCasillas.ElementAt(posicionCasilla).Item.TipoItem != 3)//Si la posición no contiene una bomba
                {
                    listadoCasillas[posicionCasilla] = new ClsCasilla(new ClsItem(3, 0), true, false, "ms-appx:///Assets/bomb_casilla.jpg");
                }
                else
                {
                    i--;
                }
            }

            for (int i = 0; i < 2; i++)//Insertamos las dos setas en el tablero
            {
                posicionCasilla = random.Next(0, 24);
                if (listadoCasillas.ElementAt(posicionCasilla).Item.TipoItem != 3 &&
                    listadoCasillas.ElementAt(posicionCasilla).Item.TipoItem != 2)//Si la posición no contiene una bomba o una seta
                {
                    listadoCasillas[posicionCasilla] = new ClsCasilla(new ClsItem(2, i), true, false, "ms-appx:///Assets/seta_casilla.jpg");
                }
                else
                {
                    i--;
                }
            }

            do//Insertamos la casilla de bowser
            {
                posicionCasilla = random.Next(0, 24);
                if (listadoCasillas.ElementAt(posicionCasilla).Item.TipoItem != 3 &&
                    listadoCasillas.ElementAt(posicionCasilla).Item.TipoItem != 2)//Si la posición no contiene una bomba o una seta
                {
                    listadoCasillas[posicionCasilla] = new ClsCasilla(new ClsItem(4, 0), true, false, "ms-appx:///Assets/bowser_casilla.jpg");
                    bowserInsertado = true;
                }
            } while (!bowserInsertado); //Si no se ha conseguido insertar la casilla bowser

            for (int i = 0; i < 4; i++) //Insertamos las cuatro estrellas en el tablero
            {
                posicionCasilla = random.Next(0, 24);
                if (listadoCasillas.ElementAt(posicionCasilla).Item.TipoItem != 3 &&
                    listadoCasillas.ElementAt(posicionCasilla).Item.TipoItem != 2 &&
                    listadoCasillas.ElementAt(posicionCasilla).Item.TipoItem != 4 &&
                    (listadoCasillas.ElementAt(posicionCasilla).Item.TipoItem == 1 &&
                     listadoCasillas.ElementAt(posicionCasilla).Item.Monedas != 20))//Si la posición no contiene una bomba, una seta, una casilla bowser u otra estrella
                {
                    listadoCasillas[posicionCasilla] = new ClsCasilla(new ClsItem(1, 20), true, false, "ms-appx:///Assets/caja_sorpresa_casilla.jpg");
                }
                else
                {
                    i--;
                }
            }

            ClsDatosJuego.tablero = listadoCasillas;
        }