北大青鸟 中国象棋 实习项目 (项目源代码级说明三)
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;
}
}
}
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;
}
}
}
相关文章推荐
- 北大青鸟 中国象棋 实习项目 (项目源代码级说明一)
- 北大青鸟 中国象棋 实习项目 (项目源代码级说明八)
- 北大青鸟 中国象棋 实习项目 (项目源代码级说明四)
- 北大青鸟 中国象棋 实习项目 (项目源代码级说明九)
- 北大青鸟 中国象棋 实习项目 (项目源代码级说明十)
- 北大青鸟 中国象棋 实习项目 (项目源代码级说明十一)
- 北大青鸟 中国象棋 实习项目 (项目源代码级说明七)
- 北大青鸟 中国象棋 实习项目 (项目源代码级说明二)
- 北大青鸟 中国象棋 实习项目 (项目源代码级说明五)
- 北大青鸟 中国象棋 实习项目 (项目源代码级说明六)
- 北大青鸟 中国象棋 实习项目 (老师点评)
- 用html+css+js实现中国象棋小游戏开发项目
- [置顶] 中国象棋程序的设计与实现(高级版)(项目截图)
- QT项目三:中国象棋
- 中国象棋程序的设计与实现(一)--项目截图
- C++项目开发中国象棋
- 中国象棋程序的设计与实现(一)--项目截图
- 中国象棋程序的设计与实现(一)--项目截图
- 中国象棋程序的设计与实现(一)--项目截图