我正在制作带有按钮的西洋跳棋游戏。要杀死另一块,你必须将你的块沿对角线移动到另一块上,但我不确定如何确保你的块移动到另一块上。
我解决这个问题的想法是获取第二个按钮的行和列,这是你的作品移动到的按钮,然后从每个行和列中减去 1,然后从该按钮获取文本以测试它是否是“黑色”或“红色”。
第一和第二 = 按钮
System.out.println((GridPane.getColumnIndex(second) + " vs " + (GridPane.getColumnIndex(second) - 1)));
if (GridPane.getColumnIndex(second) > 0) {
System.out.println("checking if a button has been jumped");
GridPane.setRowIndex(second, (GridPane.getRowIndex(second) - 1));
GridPane.setColumnIndex(second, (GridPane.getColumnIndex(second) - 1));
System.out.println("this is a printing of the second button name for location " + (GridPane.getColumnIndex(second)) + " " + (GridPane.getRowIndex(second)) + " " + second.getText());
if (second.getText().contains("black")) {
System.out.println("it's a kill");
}
else {
System.out.println("no kill");
GridPane.setRowIndex(second, (GridPane.getRowIndex(second) + 1));
GridPane.setColumnIndex(second, (GridPane.getColumnIndex(second) + 1));
}
}
我可以将行和列更改为与另一部分的位置匹配的内容,但是当我从该按钮(第二个)获取文本时,它不会以名称“黑色”或“红色”返回,而只是空白按钮的名称。
我的猜测是 GridPane 可能不会像这样工作,我只需要想出另一个解决方案,希望我不必将整个代码重做为二维数组或其他东西。
www说
慕的地8271018
相关分类