示例#1
0
 /// <summary>
 /// Zapętlenie gifa wyświelającego wylosowaną liczbę na kostce
 /// </summary>
 private void MediaElementDiceLoading_MediaEnded(object sender, RoutedEventArgs e)
 {
     MediaElementDiceLoading.Position = new TimeSpan(0, 0, 1);
     MediaElementDiceLoading.Play();
 }
示例#2
0
        /// <summary>
        /// Generowanie kostki do gry
        /// </summary>
        /// <param name="number">Liczba od 1 do 6</param>
        private async void GenerateDice(int number)
        {
            void GenerateDot(Grid diceGridElement, int x, int y)
            {
                Ellipse dot = new Ellipse
                {
                    Fill   = new SolidColorBrush(Colors.Black),
                    Margin = new Thickness(1, 1, 1, 1)
                };

                Grid.SetColumn(dot, x);
                Grid.SetRow(dot, y);
                diceGridElement.Children.Add(dot);
            }

            ButtonRollDice.IsEnabled = false;

            GridDice.BeginAnimation(OpacityProperty, diceGridFadeOutAnimation);
            await Task.Delay(300);

            GridDice.Children.Clear();
            GridDice.Visibility = Visibility.Collapsed;
            MediaElementDiceLoading.Visibility = Visibility.Visible;
            MediaElementDiceLoading.BeginAnimation(OpacityProperty, diceLoadingAnimation);

            switch (number)
            {
            case 1:
                GenerateDot(GridDice, 2, 2);
                break;

            case 2:
                GenerateDot(GridDice, 1, 1);
                GenerateDot(GridDice, 3, 3);
                break;

            case 3:
                GenerateDot(GridDice, 1, 1);
                GenerateDot(GridDice, 2, 2);
                GenerateDot(GridDice, 3, 3);
                break;

            case 4:
                GenerateDot(GridDice, 1, 1);
                GenerateDot(GridDice, 3, 1);
                GenerateDot(GridDice, 1, 3);
                GenerateDot(GridDice, 3, 3);
                break;

            case 5:
                GenerateDot(GridDice, 1, 1);
                GenerateDot(GridDice, 3, 1);
                GenerateDot(GridDice, 2, 2);
                GenerateDot(GridDice, 1, 3);
                GenerateDot(GridDice, 3, 3);
                break;

            case 6:
                GenerateDot(GridDice, 1, 1);
                GenerateDot(GridDice, 1, 2);
                GenerateDot(GridDice, 1, 3);
                GenerateDot(GridDice, 3, 1);
                GenerateDot(GridDice, 3, 2);
                GenerateDot(GridDice, 3, 3);
                break;
            }

            await Task.Delay(700);

            GridDice.BeginAnimation(OpacityProperty, diceGridFadeInAnimation);
            GridDice.Visibility = Visibility.Visible;
            MediaElementDiceLoading.Visibility = Visibility.Collapsed;
            ButtonRollDice.IsEnabled           = true;
        }