Newer
Older
import javafx.fxml.FXML;
import javafx.scene.control.Button;
public void initData(Board board, Actor player, Actor enemy) {
this.board = board;
this.player = player;
this.enemy = enemy;
}
@FXML
private Button button1, button2, button3, button4, button5, button6, button7, button8, button9;
@FXML
private List<Button> buttonList;
@FXML
public void initialize() {
// Liste der Buttons erstellen und Buttons hinzufügen
buttonList = new ArrayList<>();
buttonList.add(button1);
buttonList.add(button2);
buttonList.add(button3);
buttonList.add(button4);
buttonList.add(button5);
buttonList.add(button6);
buttonList.add(button7);
buttonList.add(button8);
buttonList.add(button9);
}
playerTurn = 0;
turnlabel.setText("AI's Turn");
int[] coordinates = enemy.makeMove(board);
// DEBUG
System.out.println("Enemy: " + coordinates[0] + ", " + coordinates[1]);
buttonList.get(coordinates[0] + coordinates[1] * 3).setText("o");
public void over(){
if(board.checkForWin()){
System.out.println("Game is over!");
if(playerTurn == 0){
turnlabel.setText("You win!");
}else if(playerTurn == 1){
turnlabel.setText("You lose!");
}
playerTurn = -1;
}
}
@FXML
private void restartGame(ActionEvent event) {
initData( new Board(),this.player, this.enemy);
moves = 0;
playerTurn = 1;
initialize();
for(int i = 0; i < buttonList.size(); i++){
buttonList.get(i).setText(" ");
}
}
// Diese Funktion wird beim Button-Click aufgerufen
@FXML
Button pressedButton = (Button) event.getSource(); // Das gedrückte Button-Objekt wird extrahiert
String buttonText = pressedButton.getText(); // Der Text des gedrückten Buttons wird extrahiert
// Zugriff auf die Koordinaten des Buttons:
int row = GridPane.getRowIndex(pressedButton); // Zeilen-Koordinate
int col = GridPane.getColumnIndex(pressedButton); // Spalten-Koordinate