本人学棋四年,至今闲暇之余仍会在网上和网友下棋。某天突发奇想,编一个chess游戏,于是在网上找到一些大牛们之前做好的chess游戏,打算用代码的角度来下一盘棋。
成果见下图:


试了一下手,移动棋子操作不是很顺畅,但是基本满足了国际象棋的要求,包括王车易位,吃过路兵,还支持人人交互,人机交互,棋盘颜色自定义,棋子风格选择,记录移动位置等。



代码难点也是下棋的难点,每一种棋子都有约束:路径约束,棋子与棋子相克约束,黑白棋约束。例如小兵只能一次单走一个或者两个格子,还不能走到有棋子的格子。更为复杂的吃过路兵,还要考虑对方的走法。王车易位需要考虑王和车的绝对位置,以及是否是第一次移动等。每一个游戏规则都需要充分考虑,抛出异常也需要符合逻辑。
总之,对于我来说这是一个难度较高的工程。从明天开始,我会学习视频来完成这个复杂的chess游戏。
博主分享了自己四年棋艺基础上,尝试编写chess游戏的历程,涉及路径约束、棋子相克规则、复杂走法如王车易位和过路兵等。通过学习和实践,计划解决代码难题,打造一个具备交互功能的复杂棋盘应用。
581

被折叠的 条评论
为什么被折叠?



