/* Metodo que reinicia el tablero. */ public void Reiniciar(Grid tabLayout = null) { if (contenedor.IsBusy) { Inicializar(tabLayout); PistasPage.Reiniciar(); if (contenedor.Temporizador) { contenedor.ReiniciarTemporizador(); } } }
//METODOS PRIVADOS----------------------------------- /* Metodo que inicializa todo el juego: tablero, tiempo, lista de palabras, * puntuaciones. */ private void Inicializar(Grid tabLayout = null) { int i, nivel, numLista; nivel = contenedor.Nivel; numLista = contenedor.EstiloPalabras; _totalPalabras = 4 + (nivel * 2); //generar _tablero if (_tablero == null) { _tablero = new Tablero(nivel, numLista); } else { _tablero.Inicializar(nivel, numLista); } //cargar lista de palabras en etiquetas if (LabelPalabras.Count != 0) { PistasPage.LimpiarLabels(); LabelPalabras.Clear(); } for (i = 0; i < TotalPalabras; i++) { LabelPalabras.Add(new Label { Text = GetPalabra(i) }); } Activos.Clear(); LabelPalabras.TrimExcess(); //vaciar grid de tablero if (TableroLayout != null) { TableroLayout.Children.Clear(); TableroLayout.RowDefinitions.Clear(); TableroLayout.ColumnDefinitions.Clear(); } if (tabLayout != null) //en teoria es para la primera vez { TableroLayout = tabLayout; } //inicializar colunas y filas del grid i = 0; nivel += 6; //reutilizo n while (i < nivel) { TableroLayout.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }); TableroLayout.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }); ++i; } //cargar labels e insertarlas en el grid tableroButtons = new LetraTablero[nivel][]; char[][] tab = GetTablero().GetMatriz(); for (i = 0; i < nivel; i++) { tableroButtons[i] = new LetraTablero[nivel]; for (int j = 0; j < nivel; j++) { tableroButtons[i][j] = new LetraTablero(i, j, tab[i][j]); tableroButtons[i][j].Clicked += OnTableroButtonClicked; TableroLayout.Children.Add(tableroButtons[i][j], i, j); } //for j } //for i //actualizar la puntuacion cuando se pasa de nivel o se reinicia tablero _puntuacion = -1; contenedor.AumentarPuntuacion(); }