Пример #1
0
        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);
        }
Пример #2
0
        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);
        }