Esempio n. 1
0
        private Position RollBack()
        {
            Position CurP  = _Stack.Pop();
            Position BackP = _Stack.First();

            _ChessBoard.Board[CurP.xPos, CurP.yPos].value = 0;
            _ChessBoard.CalculateLockProbability(CurP);
            _ChessBoard.CalculateLockProbability(BackP);
            if (!chkGraphic.Checked)
            {
                foreach (Control ctrl in pnlChess.Controls)
                {
                    {
                        if (ctrl.Name == "button" + (((CurP.yPos) * 8) + CurP.xPos + 1).ToString())
                        {
                            this.Invoke(new MethodInvoker(delegate
                            {
                                ctrl.Text = _ChessBoard.Board[CurP.xPos, CurP.yPos].Rank.ToString();
                                //ctrl.BackgroundImage = Properties.Resources.knight002;
                                ctrl.BackColor = SystemColors.Control;
                            }));
                        }
                    }
                }
            }
            return(BackP);
        }