diff --git a/src/Scene.fxml b/src/Scene.fxml
index 612bd8cbca711e151512e687c11adb4296ba4f54..64dbcd2a1379a315f6e513ba72aeefee7a490b0e 100644
--- a/src/Scene.fxml
+++ b/src/Scene.fxml
@@ -27,19 +27,19 @@
           <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
         </rowConstraints>
          <children>
-            <Button fx:id="button1" text=" " mnemonicParsing="false" onAction="#handleButtonClick" prefHeight="133.0" prefWidth="142.0" GridPane.halignment="CENTER" GridPane.valignment="CENTER" GridPane.columnIndex="0" GridPane.rowIndex="0"/>
-            <Button fx:id="button2" text=" " layoutX="10.0" layoutY="10.0" mnemonicParsing="false" onAction="#handleButtonClick" prefHeight="133.0" prefWidth="142.0" GridPane.columnIndex="0" GridPane.rowIndex="1"/>
-            <Button fx:id="button3" text=" " layoutX="115.0" layoutY="10.0" mnemonicParsing="false" onAction="#handleButtonClick" prefHeight="133.0" prefWidth="142.0" GridPane.columnIndex="0" GridPane.rowIndex="2"/>
-            <Button fx:id="button4" text=" " layoutX="10.0" layoutY="10.0" mnemonicParsing="false" onAction="#handleButtonClick" prefHeight="133.0" prefWidth="142.0" GridPane.columnIndex="1" GridPane.rowIndex="0" />
-            <Button fx:id="button5" text=" " layoutX="10.0" layoutY="10.0" mnemonicParsing="false" onAction="#handleButtonClick" prefHeight="133.0" prefWidth="142.0" GridPane.columnIndex="1" GridPane.rowIndex="1" />
-            <Button fx:id="button6" text=" " layoutX="10.0" layoutY="10.0" mnemonicParsing="false" onAction="#handleButtonClick" prefHeight="133.0" prefWidth="142.0" GridPane.columnIndex="1" GridPane.rowIndex="2" />
-            <Button fx:id="button7" text=" " layoutX="10.0" layoutY="10.0" mnemonicParsing="false" onAction="#handleButtonClick" prefHeight="133.0" prefWidth="142.0" GridPane.columnIndex="2" GridPane.rowIndex="0" />
-            <Button fx:id="button8" text=" " layoutX="10.0" layoutY="10.0" mnemonicParsing="false" onAction="#handleButtonClick" prefHeight="133.0" prefWidth="142.0" GridPane.columnIndex="2" GridPane.rowIndex="1" />
-            <Button fx:id="button9" text=" " layoutX="10.0" layoutY="10.0" mnemonicParsing="false" onAction="#handleButtonClick" prefHeight="133.0" prefWidth="142.0" GridPane.columnIndex="2" GridPane.rowIndex="2" />
+            <Button fx:id="button1" mnemonicParsing="false" onAction="#handleButtonClick" prefHeight="133.0" prefWidth="142.0" text=" " GridPane.columnIndex="0" GridPane.halignment="CENTER" GridPane.rowIndex="0" GridPane.valignment="CENTER" />
+            <Button fx:id="button2" layoutX="10.0" layoutY="10.0" mnemonicParsing="false" onAction="#handleButtonClick" prefHeight="133.0" prefWidth="142.0" text=" " GridPane.columnIndex="0" GridPane.rowIndex="1" />
+            <Button fx:id="button3" layoutX="115.0" layoutY="10.0" mnemonicParsing="false" onAction="#handleButtonClick" prefHeight="133.0" prefWidth="142.0" text=" " GridPane.columnIndex="0" GridPane.rowIndex="2" />
+            <Button fx:id="button4" layoutX="10.0" layoutY="10.0" mnemonicParsing="false" onAction="#handleButtonClick" prefHeight="133.0" prefWidth="142.0" text=" " GridPane.columnIndex="1" GridPane.rowIndex="0" />
+            <Button fx:id="button5" layoutX="10.0" layoutY="10.0" mnemonicParsing="false" onAction="#handleButtonClick" prefHeight="133.0" prefWidth="142.0" text=" " GridPane.columnIndex="1" GridPane.rowIndex="1" />
+            <Button fx:id="button6" layoutX="10.0" layoutY="10.0" mnemonicParsing="false" onAction="#handleButtonClick" prefHeight="133.0" prefWidth="142.0" text=" " GridPane.columnIndex="1" GridPane.rowIndex="2" />
+            <Button fx:id="button7" layoutX="10.0" layoutY="10.0" mnemonicParsing="false" onAction="#handleButtonClick" prefHeight="133.0" prefWidth="142.0" text=" " GridPane.columnIndex="2" GridPane.rowIndex="0" />
+            <Button fx:id="button8" layoutX="10.0" layoutY="10.0" mnemonicParsing="false" onAction="#handleButtonClick" prefHeight="133.0" prefWidth="142.0" text=" " GridPane.columnIndex="2" GridPane.rowIndex="1" />
+            <Button fx:id="button9" layoutX="10.0" layoutY="10.0" mnemonicParsing="false" onAction="#handleButtonClick" prefHeight="133.0" prefWidth="142.0" text=" " GridPane.columnIndex="2" GridPane.rowIndex="2" />
          </children>
       </GridPane>
       <Button layoutX="446.0" layoutY="170.0" mnemonicParsing="false" prefHeight="30.0" prefWidth="82.0" text="Restart" />
-      <Label alignment="CENTER" contentDisplay="CENTER" layoutX="409.0" layoutY="263.0" prefHeight="30.0" prefWidth="156.0" text="Your Turn" textAlignment="CENTER">
+      <Label fx:id="turnlabel" alignment="CENTER" contentDisplay="CENTER" layoutX="409.0" layoutY="263.0" prefHeight="30.0" prefWidth="156.0" text="Your Turn" textAlignment="CENTER">
          <font>
             <Font name="Ink Free" size="25.0" />
          </font>
diff --git a/src/SceneController.java b/src/SceneController.java
index d875c5c639082e4508a3493657c1c18c0b0154f7..3d67bf7a71f49b128a7a3a1f5efce68a76dd4c43 100644
--- a/src/SceneController.java
+++ b/src/SceneController.java
@@ -1,26 +1,64 @@
 import javafx.fxml.FXML;
 import javafx.scene.control.Button;
 import javafx.event.ActionEvent;
+import javafx.scene.control.Label;
 import javafx.scene.layout.GridPane;
 import logic.*;
 
+import java.util.ArrayList;
+import java.util.List;
+
 public class SceneController {
     private Board board;
     private Actor player;
     private Actor enemy;
 
+    public boolean playerTurn = true;
+
     public void initData(Board board, Actor player, Actor enemy) {
         this.board = board;
         this.player = player;
         this.enemy = enemy;
     }
 
+    public void playerTurn(){
+        this.playerTurn = true;
+        turnlabel.setText("Your Turn");
+    }
+
     @FXML
     private GridPane gridPane;
 
+    @FXML
+    private Label turnlabel;
+
     @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);
+    }
+
+    public void aiTurn(int col, int row){
+        initialize();
+        buttonList.get(col + row).setText("o");
+        playerTurn();
+    }
+
 
     // Diese Funktion wird beim Button-Click aufgerufen
     @FXML
@@ -33,11 +71,15 @@ public class SceneController {
         int row = GridPane.getRowIndex(pressedButton);  // Zeilen-Koordinate
         int col = GridPane.getColumnIndex(pressedButton);  // Spalten-Koordinate
 
-        if(buttonText.equals(" ")) {
+        if(buttonText.equals(" ") && playerTurn) {
             // Setze X
             pressedButton.setText("X");
 
             player.makeMove(board, col, row);
+
+            // AI's Turn
+            playerTurn = false;
+            turnlabel.setText("AI's Turn");
         }
 
     }
diff --git a/src/TicTacToe.java b/src/TicTacToe.java
index ae69f16b230533eadf0c2a3fcf5c19bc670a3f8c..0e6bd068002ae61e4744119dfb13c9a22381a997 100644
--- a/src/TicTacToe.java
+++ b/src/TicTacToe.java
@@ -10,6 +10,7 @@ public class TicTacToe extends Application {
     private static Board board;
     private static final Actor player = new Player();
     private static final Actor enemy = new Enemy();
+    private static SceneController sceneController;
 
     public void startGame(){
         board = new Board();
@@ -24,8 +25,8 @@ public class TicTacToe extends Application {
         Parent root = loader.load();
 
         // Controller-Instanz holen und initialisieren
-        SceneController controller = loader.getController();
-        controller.initData(board, player, enemy);  // Ãœbergabe der Logik-Klassen
+        sceneController = loader.getController();
+        sceneController.initData(board, player, enemy);  // Ãœbergabe der Logik-Klassen
 
         Scene scene = new Scene(root, 800, 600);
         primaryStage.setTitle("Tic Tac Toe");
@@ -35,13 +36,23 @@ public class TicTacToe extends Application {
 
 
     public static void main (String[] args) {
-        launch(args);
 
         TicTacToe game = new TicTacToe();
         game.startGame();
 
+        launch(args);
+
         while (!board.checkForWin()){
 
+            if (sceneController.playerTurn) {
+                // TODO Spieler ist am Zug
+                continue;
+
+            } else {
+                // TODO Gegner ist am Zug
+
+
+            }
             // TODO Spielablauf
 
         }
@@ -51,5 +62,6 @@ public class TicTacToe extends Application {
         // TODO Gewinner verkünden
 
         // TODO Option zum Neustart
+
     }
 }
diff --git a/src/logic/Actor.java b/src/logic/Actor.java
index b8d643b52114b69ce690160affe99cc6c4518ad9..ded26e333faffc6c585e6c89129a791716b64175 100644
--- a/src/logic/Actor.java
+++ b/src/logic/Actor.java
@@ -1,14 +1,11 @@
 package logic;
 
+import java.util.Random;
+
 public interface Actor {
 
     char symbol = '?';
     public char getSymbol();
     public void setSymbol(char symbol);
 
-    // Methode, um den nächsten Zug des Akteurs zu machen
-    default boolean makeMove(Board board, int x, int y) {
-        return board.placeToken(x, y, symbol);
-    }
-
 }
diff --git a/src/logic/Enemy.java b/src/logic/Enemy.java
index 76a8ec0dd354caf19459aa36de0fe7cc5f7a6c06..215d22acb597b28c49eef8d0530dfbd771408d17 100644
--- a/src/logic/Enemy.java
+++ b/src/logic/Enemy.java
@@ -1,5 +1,7 @@
 package logic;
 
+import java.util.Random;
+
 public class Enemy implements Actor {
     public char symbol;
     public Enemy() {
@@ -16,5 +18,16 @@ public class Enemy implements Actor {
         this.symbol = symbol;
     }
 
+    // Methode, um den nächsten Zug des Akteurs zu machen
+    public boolean makeMove(Board board) {
+        Random random = new Random();
+        int x;
+        int y;
+        do {
+            x = random.nextInt(3);
+            y = random.nextInt(3);
+        } while (!board.placeToken(x, y, symbol));
+        return true;
+    }
 
 }
diff --git a/src/logic/Player.java b/src/logic/Player.java
index 2f0696484dd961f809662f8099df8e56d3af9ba6..1c5bf77e745029a2c80f14ededd6d56d0a0f7659 100644
--- a/src/logic/Player.java
+++ b/src/logic/Player.java
@@ -16,6 +16,10 @@ public class Player implements Actor {
         this.symbol = symbol;
     }
 
+    // Methode, um den nächsten Zug des Akteurs zu machen
 
+    public boolean makeMove(Board board, int x, int y) {
+        return board.placeToken(x, y, symbol);
+    }
 
 }