我有一个有两个方法的类(一个是布尔值),我想把那个布尔方法传递给另一个。因此,如果Rook棋子在棋盘上的移动是有效的,那么继续绘制该棋子:
public class Rook extends AbstractPiece {
@Override
public boolean isMoveValid(int srcRow, int srcCol, int destRow, int destCol) {
boolean valid;
if ((destRow == srcRow) || (destCol == srcCol)) {
valid = true;
} else {
valid = false;
}
return valid;
}
@Override
public void draw() {
if (isMoveValid == true){ //or if(valid == true) or something like that
//draw stuff
}
}
}
答案 0 :(得分:0)
您需要在第二个方法中使用有效参数调用isMoveValid。例如:
@Override
public void draw() {
if (isMoveValid(1,1,2,2) == true){ //or if(valid == true) or something like that
//draw stuff
}
}
答案 1 :(得分:0)
isMoveValid是一种方法,当你像变量一样使用它时。你的代码将是
public class Rook extends AbstractPiece {
@Override
public boolean isMoveValid(int srcRow, int srcCol, int destRow, int destCol) {
boolean valid;
if ((destRow == srcRow) || (destCol == srcCol)) {
valid = true;
} else {
valid = false;
}
return valid;
}
@Override
public void draw() {
if (isMoveValid(1,2,2,1)){ // or your requied values
//draw stuff
}
}
}
答案 2 :(得分:0)
就像大卫所说,你必须将4个int值传递给isMoveValid方法
你在draw方法中的代码必须是这样的
public void draw() {
if (isMoveValid(srcRow,srcCol,destRow,destCol)){
//draw stuff
}
}
其中srcRow,srcCol,destRow,destCol是4个整数