private void PopulateGridWithAgentPosition(Learning.Grid grid, List <int[]> positions) { PreviewGrid.Children.Clear(); PreviewGrid.ColumnDefinitions.Clear(); PreviewGrid.RowDefinitions.Clear(); int dimension = grid.Dimension; for (int i = 0; i < dimension; i++) { PreviewGrid.RowDefinitions.Add(new RowDefinition()); PreviewGrid.ColumnDefinitions.Add(new ColumnDefinition()); } int index = 0; foreach (int[] position in positions) { var textPanel = new TextBlock { Text = index.ToString(), VerticalAlignment = VerticalAlignment.Center, HorizontalAlignment = HorizontalAlignment.Center }; PreviewGrid.Children.Add(textPanel); System.Windows.Controls.Grid.SetRow(textPanel, position[1]); System.Windows.Controls.Grid.SetColumn(textPanel, position[0]); index++; } }
private void Train(object sender, RoutedEventArgs e) { int dimension = int.Parse(this.Dimension.Text); int tryCount = int.Parse(this.StepNumbers.Text); map = new Learning.Grid(dimension); ObservableCollection <ObservableCollection <UIGridTile> > rows = (ObservableCollection <ObservableCollection <UIGridTile> >) this.LearningGrid.ItemsSource; int r = 0; foreach (ObservableCollection <UIGridTile> row in rows) { int col = 0; foreach (UIGridTile tile in row) { map.AddTile(new Tile(tile.Wall, new int[] { col, r }, tile.Exit)); col++; } r++; } runner = new LearningRunner(map, dimension * tryCount); runner.Learn(); this.act.IsEnabled = true; PopulatePreviewGrid(map); }
private void PopulatePreviewGrid(Learning.Grid grid) { PreviewGrid.Children.Clear(); PreviewGrid.ColumnDefinitions.Clear(); PreviewGrid.RowDefinitions.Clear(); int dimension = grid.Dimension; for (int i = 0; i < dimension; i++) { PreviewGrid.RowDefinitions.Add(new RowDefinition()); PreviewGrid.ColumnDefinitions.Add(new ColumnDefinition()); } for (int row = 0; row < dimension; row++) { for (int column = 0; column < dimension; column++) { Tile tile = grid.GetTileByCoordinates(column, row); var textPanel = new TextBlock { Text = tile.getAverageReward().ToString().Substring(0, Math.Min(6, tile.getAverageReward().ToString().Length)), VerticalAlignment = VerticalAlignment.Center, HorizontalAlignment = HorizontalAlignment.Center }; PreviewGrid.Children.Add(textPanel); System.Windows.Controls.Grid.SetRow(textPanel, row); System.Windows.Controls.Grid.SetColumn(textPanel, column); } } }