Java中的滑动拼图,需要帮助理解此方法

Java中的滑动拼图,需要帮助理解此方法,java,android,Java,Android,我正在跟随一个在线教程,在Android Studio上用Java构建一个滑动拼图,我需要帮助理解这个方法 在这里,我以前从未见过像《归来》这样的电影。我知道这有点变化,但我不知道它是如何工作的。同样,左边是0,右边是1,上面是2,下面是3。谢谢 public int getPossibleMoves() { int x = getColumnAt(handleLocation); int y = getRowAt(handleLocation); boolean le

我正在跟随一个在线教程,在Android Studio上用Java构建一个滑动拼图,我需要帮助理解这个方法

在这里,我以前从未见过像《归来》这样的电影。我知道这有点变化,但我不知道它是如何工作的。同样,左边是0,右边是1,上面是2,下面是3。谢谢

public int getPossibleMoves() {
    int x = getColumnAt(handleLocation);
    int y = getRowAt(handleLocation);

    boolean left = x > 0;
    boolean right = x < width - 1;
    boolean up = y > 0;
    boolean down = y < height - 1;

    return(left ? 1 << DIRECTION_LEFT : 0) |
            (right ? 1 << DIRECTION_RIGHT : 0) |
            (up ? 1 << DIRECTION_UP : 0) |
            (down ? 1 << DIRECTION_DOWN : 0);
}
public int getPossibleMoves(){
int x=getColumnAt(handleLocation);
int y=getRowAt(手动位置);
布尔左=x>0;
布尔右=x0;
布尔向下=y<高度-1;

return(left?1返回中的语句称为条件表达式

条件表达式的样式完全不同,语句中没有明确的if。语法为:

boolean-expression ? expression1 : expression2;
如果布尔表达式为真,则此条件表达式的结果为表达式1;否则结果为表达式2