【发布时间】:2019-11-04 00:09:52
【问题描述】:
这是我的第一个 JavaFX 项目。
我使用 JavaFx 创建了一个井字游戏。该游戏适用于玩家对玩家模式,非常完美,但我使用的代码太长了。
这里有一些明显的重复,但它们完全不同:
这是我的按钮一的代码,我必须重复八个按钮:
one.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent actionEvent) {
System.out.println(1);
System.out.println("my state is " + state[0]);
if (state[0] == 0){
state[0] = 1 ;
for (int a: state ) {
System.out.print(a);}
if(i%2==0){
one.setText("X"); i+= 1;
System.out.println(i+"recorded");
turn.setText("O turn");
result[0] = 'x';
win() ;
}
else{
one.setText("O"); i+= 1 ;
System.out.println(i+"recorded");
turn.setText("X turn");
result[0] = 'o';
win() ;
}
}
}
});
截图:
是否可以选择避免为另外 8 个按钮重复代码?
您可以在屏幕截图中看到也有重复的 for 循环。
这是我的第一个 gui 项目,但我不打算成为初学者。
编辑
在我没有在代码中看到任何 for 循环之后。也许您的意思是 if 语句? – NiVer
是的,我的意思是 if 语句。
【问题讨论】:
-
我在代码中看不到任何 for 循环。也许您的意思是 if 语句?
-
以防万一您不知道,如果您有工作代码并且正在寻找改进它的方法,那么Code Review 可能(阅读他们的指南)更合适。
-
@Slaw 我有一个代码,谢谢,我会检查一下
标签: java user-interface intellij-idea javafx redundancy