示例#1
0
        public void CambiarColor_Celulas(int color)
        {
            switch (color)
            {
            case 0:
            {
                Celulas.ColorCelula = Celulas.ColorBasico(Tema);
                Celulas.Aleatorio   = true;
                break;
            }

            case 1:
            {
                Celulas.ColorCelula = Celulas.ColorPrincipal();
                Celulas.Aleatorio   = false;
                break;
            }

            case 2:
            {
                Celulas.ColorCelula = Celulas.ColorSecundario();
                Celulas.Aleatorio   = false;
                break;
            }

            case 3:
            {
                Celulas.ColorCelula = Celulas.ColorBasico(Tema);
                Celulas.Aleatorio   = false;
                break;
            }
            }
            dibujar      = true;
            ColorCelulas = color;
        }
示例#2
0
 private async void iniciar_Click(object sender, RoutedEventArgs e)
 {
     if (CancellationToken == null)
     {
         CancellationToken   = new CancellationTokenSource();
         aleatorio.IsEnabled = false;
         ajustes.IsEnabled   = false;
         iniciar.IsEnabled   = false;
         ResizeMode          = ResizeMode.CanMinimize;
         await Celulas.IniciarJuego(Tablero.Children, CancellationToken.Token);
     }
 }
示例#3
0
        public async void DibujarTablero(int ancho, int alto) // dibujo el tablero
        {
            Aplicacion.Tablero.Children.Clear();
            await Task.Run(() =>
            {
                int aux   = ancho / Celulas.Tamaño;
                aux       = aux * Celulas.Espacio;
                ancho     = ancho - aux;
                int filas = ancho / Celulas.Tamaño;

                alto         = alto - (int)Aplicacion.Principal.RowDefinitions[2].ActualHeight;
                aux          = alto / Celulas.Tamaño;
                aux          = aux * Celulas.Espacio;
                alto         = alto - aux;
                int columnas = alto / Celulas.Tamaño;
                int num1     = Celulas.Espacio;
                int num2     = Celulas.Espacio;
                Celulas.CrearCelulas(columnas, filas);
                for (int j = 0; j < filas; j++)
                {
                    for (int i = 0; i < columnas - 1; i++)
                    {
                        Aplicacion.Dispatcher.Invoke(() =>
                        {
                            Rectangle celula = new Rectangle();
                            celula.SetPosition(i, j);
                            celula.HorizontalAlignment = HorizontalAlignment.Left;
                            celula.VerticalAlignment   = VerticalAlignment.Top;
                            celula.Height = Celulas.Tamaño;
                            celula.Width  = Celulas.Tamaño;
                            celula.Stroke = Celulas.ColorBorde();
                            celula.Margin = new Thickness(num2, num1, 0, 0);
                            celula.Fill   = Celulas.ColorRelleno();
                            celula.MouseLeftButtonDown += MainWindow.Celula_Click;
                            Aplicacion.Tablero.Children.Add(celula);
                        });
                        num1 += Celulas.Tamaño + Celulas.Espacio;
                    }
                    num1  = Celulas.Espacio;
                    num2 += Celulas.Tamaño + Celulas.Espacio;
                }
            });
        }
示例#4
0
 private void aleatorio_Click(object sender, RoutedEventArgs e)
 {
     Celulas.SetStates(Tablero.Children);
 }
示例#5
0
 private void detener_Click(object sender, RoutedEventArgs e)
 {
     pausar_Click(sender, e);
     Celulas.SetStates(false, Tablero.Children);
 }