WEB开发网
开发学院软件开发C语言 C#实现的中国象棋程序开发笔记 阅读

C#实现的中国象棋程序开发笔记

 2009-06-01 08:31:14 来源:WEB开发网   
核心提示: 3. 接下来就是关键的部分,我曾在这里实现机器自动下棋,C#实现的中国象棋程序开发笔记(3),但是还是碰到一些困难棋子移动 /// <summary> /// 被吃时调用,或吃子时调用 /// </summary> /// <param name="

3. 接下来就是关键的部分,我曾在这里实现机器自动下棋,但是还是碰到一些困难

棋子移动

        /// <summary>
        /// 被吃时调用,或吃子时调用
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ChessWordUserControl_Click(object sender, EventArgs e)
        {
            if (Factory.IsTurnToRedChessWalking)
            {
                //机器下棋(Red)
                if (this.IsRedChess)
                {
                    //红方(机器)
                }
                else
                {
                    //红方吃掉黑方
                    this.Eat(false);
                    return;
                }

            }
            else
            {
                //用户下棋
                if (this.IsRedChess)
                {
                    //黑方吃掉红方
                    this.Eat(false);

                    return;
                }
                else
                {
                    //黑方(用户)

                }
            }
            if (Factory.OldQiZhi != null)
            {
                Factory.OldQiZhi._move = EChessDraw.Null;
                Factory.OldQiZhi.Refresh();
            }
            Factory.WeiZhi_AL = this.GetNextLocation();
            Factory.OldQiZhi = this;
            this._move = EChessDraw.Click;
            this.Refresh();
        }

目前,我在网上查了不少资料,大家都想求一个比较厉害的象棋程序,可目前我的程序是最弱智的,CPU自己不会下。有人告诉我,说需要调用一些已经大师们的下棋残局API,而无需自己写一套规则,我觉得也是,不然写棋的那个人一定是下棋高手,可是我棋艺一般,但我很想写一个比较厉害的程序,让我的象棋以CPU的身份来挑战那些大师,呵呵,就是这样一个想法,目前用C#实现,先不讨论性能,能有人指点实现一下也不错。

如果有人有兴趣,我想把代码放在officelive.com上,其实重要不是代码了,感觉这些程序的算法和思想设计很重要,欢迎高手指点一二。:-)

上一页  1 2 3 

Tags:实现 中国象棋 程序开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接