public async Task Initialize() { Bars.Clear(); Cars = new Car[NumberOfCars]; int teemoNum = RandomGen2.Next() % (NumberOfCars - 1) + 1; MainGrid.RowDefinitions.Add(new RowDefinition()); for (int i = 0; i < NumberOfCars; i++) { MainGrid.RowDefinitions.Add(new RowDefinition()); // Add CarRaceBar in mainGrid CarRaceBar bar = new CarRaceBar() { Maximum = (double)Distance, HorizontalAlignment = HorizontalAlignment.Stretch, VerticalAlignment = VerticalAlignment.Stretch }; MainGrid.Children.Add(bar); Grid.SetColumn(bar, 1); Grid.SetRow(bar, i + 1); // Set color of car. if (i == 0) { await bar.SetColor(PlayerColor); } else { await bar.SetColor(Color.FromArgb(255, (byte)(RandomGen2.Next() % 255), (byte)(RandomGen2.Next() % 255), (byte)(RandomGen2.Next() % 255))); } Bars.Add(bar); // Make text TextBlock description = new TextBlock() { Name = $"Text{i}", Foreground = new SolidColorBrush(Color.FromArgb(0xff, 0xff, 0xff, 0xff)), HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Center, TextAlignment = TextAlignment.Center, HorizontalTextAlignment = TextAlignment.Center }; MainGrid.Children.Add(description); Grid.SetColumn(description, 2); Grid.SetRow(description, i + 1); Image placeImage = new Image(); placeImage.Source = new BitmapImage(new Uri(@"appx:///Assets/0.png")); placeImage.HorizontalAlignment = HorizontalAlignment.Center; placeImage.VerticalAlignment = VerticalAlignment.Center; MainGrid.Children.Add(placeImage); Grid.SetColumn(placeImage, 0); Grid.SetRow(placeImage, i + 1); if (i == 0) { Cars[i] = Car.NapraviAuto(Account.CurrentAccount.Nickname, bar, description); } else if (i == teemoNum) { Cars[i] = Car.NapraviAuto("Teemo", bar, description); } else { NamesCollection names = NamesCollection.GetInstance(); await names.ReadNamesAsync(); Cars[i] = Car.NapraviAuto(names[RandomGen2.Next() % names.Names.Count], bar, description); } } MainGrid.RowDefinitions.Add(new RowDefinition()); MainGrid.Children.Add(BackButton); ButtonStyle(BackButton, "BACK", 0, NumberOfCars + 1); ButtonStyle(StartRaceButton, "START RACE", 1, NumberOfCars + 1); }
public async Task Initialize() { Bars.Clear(); Cars = new Car[NumberOfCars]; int teemoNum = RandomGen2.Next() % (NumberOfCars - 1) + 1; for (int i = 0; i < NumberOfCars; i++) { CarRaceBar bar = new CarRaceBar() { Name = "Progress" + i, Maximum = (double)Distance, Margin = new Thickness(50, 160 * i, 0, 0), HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top, Width = 1200, Height = 80, }; if (i == 0) { await bar.SetColor(PlayerColor); } else { await bar.SetColor(Color.FromArgb(255, (byte)(RandomGen2.Next() % 255), (byte)(RandomGen2.Next() % 255), (byte)(RandomGen2.Next() % 255))); } Bars.Add(bar); Grid grid = new Grid() { Name = "Text" + i, Margin = new Thickness(50, 80 * (2 * i + 1), 0, 0), HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Top, Width = 900, Height = 80, }; grid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(25, GridUnitType.Star) }); grid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(25, GridUnitType.Star) }); grid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(25, GridUnitType.Star) }); grid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(25, GridUnitType.Star) }); grid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(30, GridUnitType.Pixel) }); grid.BorderBrush = new SolidColorBrush(Color.FromArgb(255, 255, 255, 255)); var textBlocks = new[] { new TextBlock { Text = "" }, new TextBlock { Text = "" }, new TextBlock { Text = "" }, new TextBlock { Text = "" } }; int index = 0; foreach (var textBlock in textBlocks) { grid.Children.Add(textBlock); textBlock.TextAlignment = TextAlignment.Center; textBlock.Foreground = new SolidColorBrush(Color.FromArgb(255, 255, 255, 255)); Grid.SetColumn(textBlock, index++); } TextBlock text = new TextBlock() { Name = "Text" + i, IsColorFontEnabled = true, Foreground = new SolidColorBrush(Color.FromArgb(0xff, 0xff, 0xff, 0xff)), Margin = new Thickness(50, 160 * i, 0, 0), HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top, Width = 400, Height = 80 }; Grid.Children.Add(bar); Grid.Children.Add(grid); Grid.Children.Add(text); StackPanel.Height += 80; if (i == 0) { Cars[i] = Car.NapraviAuto(Account.CurrentAccount.Nickname, bar, textBlocks); } else if (i == teemoNum) { Cars[i] = Car.NapraviAuto("Teemo", bar, textBlocks); } else { NamesCollection names = NamesCollection.GetInstance(); await names.ReadNamesAsync(); Cars[i] = Car.NapraviAuto(names[RandomGen2.Next() % names.Names.Count], bar, textBlocks); } } Button.Margin = new Thickness(0, 160 * NumberOfCars, 0, 0); Button.HorizontalAlignment = HorizontalAlignment.Center; Button.VerticalAlignment = VerticalAlignment.Top; Button.Width = 100; Button.Height = 40; }