您的位置:首页 > 编程语言

北大青鸟 中国象棋 实习项目 (项目源代码级说明三)

2008-07-19 19:20 351 查看
棋子兵

using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using System.Windows.Forms;

namespace chess
{
/// <summary>
/// 棋子兵
/// </summary>
[Serializable()]
class chessItemBing : ChessItemBase
{
/// <summary>
/// 重写父类的限制走法方法
/// </summary>
/// <param name="ChessX">坐标点的X坐标</param>
/// <param name="ChessY">坐标点的Y坐标</param>
/// <returns>返回结果bool</returns>
protected override bool LimitPoint(int ChessX, int ChessY)
{
if (base.LimitPoint(ChessX, ChessY))
{
Point begin = PointToGrid(this.Location.X, this.Location.Y);
begin.Offset(1, 1);
Point end = PointToGrid(ChessX, ChessY);
//步长为一
if (Step(begin, end))
{
//黑色棋
if (this.chesstype == ChessTypes.black)
{
//没有过河之前
if (begin.Y >= 6)
{
if (begin.X != end.X)
{
return false;
}
return true;
}
//过河过后
else if (begin.Y < 6)
{
if (begin.Y < end.Y)
{
return false;
}
return true;
}
return false;
}
//蓝色棋
else if (this.chesstype == ChessTypes.blue)
{
//没有过河之前
if (begin.Y <6)
{
if (begin.X != end.X)
{
return false;
}
return true;
}
//过河过后
else if (begin.Y >= 6)
{
if (begin.Y >end.Y)
{
return false;
}
return true;

}

}

}
}
return false;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: