Button makeNodeButton(Node node) { Button button = new Button(); button.Tag = node; button.Click += Button_Click_Tree; if (node != null) { string letter = ""; if (!node.prevMove.Equals(Move.Empty)) { uint stone = node.board[node.prevMove.To]; letter = StoneHelper.GetLetter(stone, true); } else { letter = "不"; } if (node.board.IsMyTurn) { letter = "My" + letter; } else { letter = "Yo" + letter; } button.Content = letter; } else { button.Content = "N"; } return(button); }
FrameworkElement MakeNodeButtonAndState(Node node, double maxVisited) { Button button = new Button(); button.Tag = node; button.Click += Button_Click_Moves; if (node != null) { string letter = ""; if (!node.prevMove.Equals(Move.Empty)) { uint stone = node.board[node.prevMove.To]; letter = StoneHelper.GetLetter(stone, true); } else { letter = "不"; } button.Content = letter; } else { button.Content = "N"; } button.Width = 23; button.Height = 23; Grid grid = new Grid(); ProgressBar progress = new ProgressBar(); TextBlock textBlock = new TextBlock(); progress.Width = 104; progress.Height = 23; textBlock.HorizontalAlignment = HorizontalAlignment.Center; textBlock.VerticalAlignment = VerticalAlignment.Center; if (node != null) { progress.Value = node.win / maxVisited * 100; progress.Tag = node.prevMove; progress.MouseEnter += Progress_MouseEnter; textBlock.Text = node.win.ToString("f1") + "/" + node.visited.ToString(); } grid.Children.Add(progress); grid.Children.Add(textBlock); StackPanel panel = new StackPanel(); panel.Children.Add(button); panel.Children.Add(grid); panel.Orientation = Orientation.Horizontal; panel.Margin = new Thickness(1); return(panel); }