因为我们采取的是以(0,0)为原点,所以隐含条件所有的坐标(x,y)均大于等于零。只需要无符号数,可以将所有坐标声明为整数。设马的坐标为(c,d)首先判断c+-1&d+-1方位没有其他棋子如果有就不用进行后续可达坐标计算,比如马的初始坐标为(1,0)其他四个坐标之一不满足x≥0&y&≥0的条件即所谓的短路求值还有一个不满足c+1方向没有棋子的条件所以(1,3)坐标不可达也不用计算。棋子是否存在可用碰撞检测即if ray!=null,消失逻辑已经在(车)篇说过不在赘述,同样马以及后续其他棋子也要满足边界条件,即9-c≥0&8-d≥0,后面实现逻辑不在强调。下一篇相的实现逻辑。
中国象棋实现逻辑(马)
最新推荐文章于 2024-07-21 16:21:53 发布