当前位置: 首页 > 知识库问答 >
问题:

如何确定骑士是否可以移动到棋盘上的一个目的地?

凌蕴藉
2023-03-14

我需要从下面的方法返回true或false,以确定骑士是否可以使用下面的参数移动到棋盘上的指定点。任何帮助都将不胜感激。

static Boolean validKnightMove(char column, int row, char destinationColumn, int destinationRow) { }

共有1个答案

祖波光
2023-03-14

假设已知行、列、destinationRow和destinationColumn是有效的行/列编号:

static Boolean validKnightMove(char column, int row, char destinationColumn, int destinationRow) {
    int rowDiff = Math.abs(destinationRow - row);
    int colDiff = Math.abs(destinationColumn- column);
    return rowDiff == 2 && colDiff == 1
            || rowDiff == 1 && colDiff == 2;
}
 类似资料:
  • 本文向大家介绍C#实现骑士飞行棋,包括了C#实现骑士飞行棋的使用技巧和注意事项,需要的朋友参考一下 前言 飞行棋小游戏是学习C#以来,接触的第一个游戏项目,根据小杨老师的思路引导,自己的代码也实现了功能,经过思路的梳理,试着不借助代码自己去实现功能,感触就是不管想的多明白,实践起来完全不一样,所以,还得多多实践,培养严谨的逻辑思维。下面看看我梳理的思路~ 游戏中界面 飞行棋流程思路 掷骰子流程 游

  • 我需要一个关于这个问题的建议,叫做“骑士之路”。给定一个n*n单元格初始化为0的单元格,我需要确定,给定一个任意骑士的位置,如果骑士可以通过单元格上的每一个单元格一次,骑士访问过的每一个单元格都将被标记为计数器,从:1-n^2.如果路径是可能的,我需要打印板。我需要打印所有有效的板。对于那些不知道国际象棋规则的人来说,骑士可以垂直向上或向下移动一个方块,水平移动两个方块,也可以垂直向上或向下移动两

  • 问题内容: 我正在用Python编写一个Chess程序,该程序需要生成骑士的所有动作。对于那些不熟悉国际象棋的人,骑士会以L形移动。 因此,考虑的位置,骑士可以移动到,,,)等共(最多)八个不同的移动。 我想编写一个函数,该函数在列表中生成这些元组。在Python中最简单的方法是什么? 问题答案: 好的,感谢Niall Byrne,我想到了这个:

  • 今天在一次考试中,我得到了一道算法题,题中给出了棋盘的N*M大小,我应该确定骑士从棋盘的左下边缘到右上边缘所能做的最小移动次数。怎么能做到呢?