代码拉取完成,页面将自动刷新
同步操作将从 cygsd/Chess 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
喜欢象棋,也喜欢编程,所以,有了这个象棋软件。 软件设计上,借鉴了国内知名象棋软件通行的设计思想,具有友好的操作界面,符合大众使用习惯。
编程环境:Visual Studio 2019/2022 C#,NET5.0/6.0,WPF,SQLite3.0 随着功能扩展,代码量快速增长,模块间耦合度过高问题越来越严重。下一步打算使用Prism框架对代码进行重构,重构为MVVM模式,以降低模块间的耦合度,增强可扩展性。
使用源码时,在Visual Studio中通过NuGet安装如下包:
for (int i = 0; i < 9; i++)
for (int j = 0; j < 10; j++)
{
int qizi = GlobalValue.qiPan[i, j]; // 从棋盘上找到存活的本方棋子
if (gongJiQiZi > 15 && qizi > 0 && qizi <= 15) // 黑方被将军时
{
thispoints = MoveCheck.GetPathPoints(qizi, GlobalValue.qiPan); // 获得本方棋子的可移动路径
foreach (int[] point in jieShaPoints) // 逐个取出可解除将军的点位坐标
{
if (thispoints[point[0], point[1]] == true) // 本方棋子的可移动路径是否包含解除攻击点
{
if (!MoveCheck.AfterMoveWillJiangJun(qizi, point[0], point[1], GlobalValue.qiPan))
return true; // true=能够解杀
}
}
}
if (gongJiQiZi <= 15 && qizi > 16 && qizi <= 31) // 红方被将军时
{
thispoints = MoveCheck.GetPathPoints(qizi, GlobalValue.qiPan); // 获得本方棋子的可移动路径
foreach (int[] point in jieShaPoints) // 逐个取出可解除将军的点位坐标
{
if (thispoints[point[0], point[1]] == true) // 本方棋子的可移动路径是否包含解除攻击点
{
if (!MoveCheck.AfterMoveWillJiangJun(qizi, point[0], point[1], GlobalValue.qiPan))
return true; // true=能够解杀
}
}
}
}
中国象棋有着悠久的历史,象棋古谱也有很多,但是流传下来的象棋谱却为数不多。 明清棋谱大致分为两大类: 一类是少林派,以橘中秘,金鹏十八变等等,简称用炮局。所谓少林派,节奏明快,直来直往,势大力沉。 一类是武当派,很简单,以梅花谱为代表,简称用马局。 所谓武当派,一波三折,曲径通幽,绵里藏针。 这里提供一些耳熟能详的古谱棋谱:
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。