我製作了使用javafx的井字遊戲。我是新來的java,我試圖讓勝利或抽籤結束比賽。沒有必要檢查輸贏是什麼。當您無法繼續播放時,我想讓該文本結束。我嘗試使用數組,但我不知道該怎麼做。如何結束我的Javafx tic-tac-toe?
這是我的代碼:
import java.util.ArrayList;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.GridPane;
import javafx.scene.text.Font;
import javafx.stage.Stage;
public class ticTacToe extends Application {
private boolean turn;
private int[][] locations;
public RistinollaSovellus() {
turn = true;
locations = new int[3][3];
}
public static void main(String[] args) {
launch(ticTacToe.class);
}
@Override
public void start(Stage window) throws Exception {
boolean endGame = false;
BorderPane layout = new BorderPane();
Label text = new Label("Turn: X");
text.setFont(Font.font("Monospaced", 40));
layout.setTop(text);
GridPane array = new GridPane();
if (!endGame) {
for (int x = 1; x <= 3; x++) {
for (int y = 1; y <= 3; y++) {
Button btn = new Button(" ");
btn.setFont(Font.font("Monospaced", 40));
array.add(nappi, x, y);
locations[x][y] = 0;
btn.setOnAction((event) -> {
if (btn.getText().equals(" ")) {
if (turn) {
btn.setText("X");
text.setText("Turn: O");
turn = false;
} else if (!turn) {
btn.setText("O");
text.setText("Turn: X");
turn = true;
}
}
});
}
}
}
layout.setCenter(array);
Scene showing = new Scene(layout);
window.setScene(showing);
window.show();
}
}
使用一個計數器來跟上做出動作的次數。一旦移動發數量到達9比賽結束 – Sedrick
@SedrickJefferson,如果有人連續得到3使用了所有9圈之前會發生什麼? – Jonah
您可以使用for循環,因爲您知道遊戲擁有的最大移動次數。你也可以使用while循環。在任何勝利條件下打破循環。 – Sedrick