Musterloesungen/src/main/java/Uebung_04_Version_02/Game.java

42 lines
1.1 KiB
Java

package Uebung_04_Version_02;
import java.util.Scanner;
/**
* Represents the TIC TAC TOE game.
*/
public class Game {
private Board board;
private Player player1;
private Player player2;
/***
* Initializes the game with a human player and computer player.
*/
public Game() {
board = new Board();
Scanner scanner = new Scanner(System.in);
player1 = new HumanPlayer('O', scanner);
player2 = new ComputerPlayer('X');
}
/**
* Starts and controls the game.
*/
public void play() {
Player currentPlayer = player1;
while (!board.isFull() && !board.checkWin()) {
board.printBoard();
currentPlayer.makeMove(board);
if (board.checkWin()) {
board.printBoard();
System.out.println("Spieler " + currentPlayer.getMark() + " gewinnt!");
return;
}
currentPlayer = (currentPlayer == player1) ? player2 : player1;
}
board.printBoard();
System.out.println("Unentschieden!");
}
}