Example #1
0
 private void Main_Paint(object sender, PaintEventArgs e)
 {
     try
     {
         BaseBoard board = WeiqiBoard.Instance();
         board.DrawBoard(this);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
 }
Example #2
0
        public WeiqiPiece(int pixelx, int pixely)
        {
            board                = WeiqiBoard.Instance();
            this.pieceRadius     = 15;
            this.judgeRadius     = 15;
            this.pieceFrameColor = Color.Black;

            Point Point = new Point();

            //判断是否点击在规定范围内
            if (!ConvertxyToXY(pixelx, pixely, out Point))
            {
                return;
            }
            this.pieceX = Point.X;
            this.pieceY = Point.Y;

            //判断棋子状态类型
            if (lastState == BaseBoard.boardType.Blank || lastState == BaseBoard.boardType.White)
            {
                this.state = BaseBoard.boardType.Black;
            }
            else if (lastState == BaseBoard.boardType.Black)
            {
                this.state = BaseBoard.boardType.White;
            }
            else
            {
                return;
            }

            //下棋
            if (!board.SetState(this.pieceX, this.pieceY, this.state))
            {
                this.state = BaseBoard.boardType.Blank;
                return;
            }

            lastState = this.state;
        }