RWluIFNwaWVsIGluIEphdmEhCgpMYXNzIHVucyBlaW4gZWluZmFjaGVzIFNwaWVsIHByb2dyYW1taWVyZW4uIEhpZXIgaXN0IGVpbiBCZWlzcGllbCBmJnV1bWw7ciBlaW4gVGljLVRhYy1Ub2UtU3BpZWw6CmBgYAppbXBvcnQgamF2YS51dGlsLlNjYW5uZXI7CgpwdWJsaWMgY2xhc3MgVGljVGFjVG9lIHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICBjaGFyW11bXSBib2FyZCA9IHt7JzEnLCAnMicsICczJ30sIHsnNCcsICc1JywgJzYnfSwgeyc3JywgJzgnLCAnOSd9fTsKICAgICAgICBjaGFyIGN1cnJlbnRQbGF5ZXIgPSAnWCc7CiAgICAgICAgU2Nhbm5lciBzY2FubmVyID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKCiAgICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgICAgcHJpbnRCb2FyZChib2FyZCk7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigmcXVvdDtTcGllbGVyICZxdW90OyArIGN1cnJlbnRQbGF5ZXIgKyAmcXVvdDssIHcmYXVtbDtobGUgZWluIEZlbGQgKDEtOSk6JnF1b3Q7KTsKICAgICAgICAgICAgaW50IG1vdmUgPSBzY2FubmVyLm5leHRJbnQoKTsKCiAgICAgICAgICAgIGlmIChtb3ZlICZsdDsgMSB8fCBtb3ZlICZndDsgOSkgewogICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCZxdW90O1VuZyZ1dW1sO2x0aWdlciBadWchJnF1b3Q7KTsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpbnQgcm93ID0gKG1vdmUgLSAxKSAvIDM7CiAgICAgICAgICAgIGludCBjb2wgPSAobW92ZSAtIDEpICUgMzsKCiAgICAgICAgICAgIGlmIChib2FyZFtyb3ddW2NvbF0gPT0gJ1gnIHx8IGJvYXJkW3Jvd11bY29sXSA9PSAnTycpIHsKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigmcXVvdDtGZWxkIGJlcmVpdHMgYmVzZXR6dCEmcXVvdDspOwogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGJvYXJkW3Jvd11bY29sXSA9IGN1cnJlbnRQbGF5ZXI7CgogICAgICAgICAgICBpZiAoY2hlY2tXaW4oYm9hcmQsIGN1cnJlbnRQbGF5ZXIpKSB7CiAgICAgICAgICAgICAgICBwcmludEJvYXJkKGJvYXJkKTsKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigmcXVvdDtTcGllbGVyICZxdW90OyArIGN1cnJlbnRQbGF5ZXIgKyAmcXVvdDsgaGF0IGdld29ubmVuISZxdW90Oyk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgY3VycmVudFBsYXllciA9IChjdXJyZW50UGxheWVyID09ICdYJykgPyAnTycgOiAnWCc7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBwcmludEJvYXJkKGNoYXJbXVtdIGJvYXJkKSB7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKGJvYXJkWzBdWzBdICsgJnF1b3Q7IHwgJnF1b3Q7ICsgYm9hcmRbMF1bMV0gKyAmcXVvdDsgfCAmcXVvdDsgKyBib2FyZFswXVsyXSk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCZxdW90Oy0tLS0tLS0tLSZxdW90Oyk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKGJvYXJkWzFdWzBdICsgJnF1b3Q7IHwgJnF1b3Q7ICsgYm9hcmRbMV1bMV0gKyAmcXVvdDsgfCAmcXVvdDsgKyBib2FyZFsxXVsyXSk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCZxdW90Oy0tLS0tLS0tLSZxdW90Oyk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKGJvYXJkWzJdWzBdICsgJnF1b3Q7IHwgJnF1b3Q7ICsgYm9hcmRbMl1bMV0gKyAmcXVvdDsgfCAmcXVvdDsgKyBib2FyZFsyXVsyXSk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBib29sZWFuIGNoZWNrV2luKGNoYXJbXVtdIGJvYXJkLCBjaGFyIHBsYXllcikgewogICAgICAgIC8vIFplaWxlbiB1bmQgU3BhbHRlbiAmdXVtbDtiZXJwciZ1dW1sO2ZlbgogICAgICAgIGZvciAoaW50IGkgPSAwOyBpICZsdDsgMzsgaSsrKSB7CiAgICAgICAgICAgIGlmIChib2FyZFtpXVswXSA9PSBwbGF5ZXIgJmFtcDsmYW1wOyBib2FyZFtpXVsxXSA9PSBwbGF5ZXIgJmFtcDsmYW1wOyBib2FyZFtpXVsyXSA9PSBwbGF5ZXIpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChib2FyZFswXVtpXSA9PSBwbGF5ZXIgJmFtcDsmYW1wOyBib2FyZFsxXVtpXSA9PSBwbGF5ZXIgJmFtcDsmYW1wOyBib2FyZFsyXVtpXSA9PSBwbGF5ZXIpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBEaWFnb25hbGVuICZ1dW1sO2JlcnByJnV1bWw7ZmVuCiAgICAgICAgaWYgKChib2FyZFswXVswXSA9PSBwbGF5ZXIgJmFtcDsmYW1wOyBib2FyZFsxXVsxXSA9PSBwbGF5ZXIgJmFtcDsmYW1wOyBib2FyZFsyXVsyXSA9PSBwbGF5ZXIpIHx8CiAgICAgICAgICAgICAgICAoYm9hcmRbMF1bMl0gPT0gcGxheWVyICZhbXA7JmFtcDsgYm9hcmRbMV1bMV0gPT0gcGxheWVyICZhbXA7JmFtcDsgYm9hcmRbMl1bMF0gPT0gcGxheWVyKSkgewogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KfQpgYGAKRGllc2VzIFNwaWVsIGthbm4gdm9uIHp3ZWkgU3BpZWxlcm4gZ2VzcGllbHQgd2VyZGVuLiBEdSBrYW5uc3QgZXMga29waWVyZW4gdW5kIGF1c2YmdXVtbDtocmVuLCB1bSBlcyBzZWxic3QgYXVzenVwcm9iaWVyZW4hCgpNJm91bWw7Y2h0ZXN0IGR1IGVpbiBhbmRlcmVzIFNwaWVsIHByb2dyYW1taWVyZW4/
Ein Spiel in Java!
Lass uns ein einfaches Spiel programmieren. Hier ist ein Beispiel für ein Tic-Tac-Toe-Spiel:
```
import java.util.Scanner;
public class TicTacToe {
public static void main(String[] args) {
char[][] board = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}};
char currentPlayer = 'X';
Scanner scanner = new Scanner(System.in);
while (true) {
printBoard(board);
System.out.println("Spieler " + currentPlayer + ", wähle ein Feld (1-9):");
int move = scanner.nextInt();
if (move < 1 || move > 9) {
System.out.println("Ungültiger Zug!");
continue;
}
int row = (move - 1) / 3;
int col = (move - 1) % 3;
if (board[row][col] == 'X' || board[row][col] == 'O') {
System.out.println("Feld bereits besetzt!");
continue;
}
board[row][col] = currentPlayer;
if (checkWin(board, currentPlayer)) {
printBoard(board);
System.out.println("Spieler " + currentPlayer + " hat gewonnen!");
break;
}
currentPlayer = (currentPlayer == 'X') ? 'O' : 'X';
}
}
public static void printBoard(char[][] board) {
System.out.println(board[0][0] + " | " + board[0][1] + " | " + board[0][2]);
System.out.println("---------");
System.out.println(board[1][0] + " | " + board[1][1] + " | " + board[1][2]);
System.out.println("---------");
System.out.println(board[2][0] + " | " + board[2][1] + " | " + board[2][2]);
}
public static boolean checkWin(char[][] board, char player) {
// Zeilen und Spalten überprüfen
for (int i = 0; i < 3; i++) {
if (board[i][0] == player && board[i][1] == player && board[i][2] == player) {
return true;
}
if (board[0][i] == player && board[1][i] == player && board[2][i] == player) {
return true;
}
}
// Diagonalen überprüfen
if ((board[0][0] == player && board[1][1] == player && board[2][2] == player) ||
(board[0][2] == player && board[1][1] == player && board[2][0] == player)) {
return true;
}
return false;
}
}
```
Dieses Spiel kann von zwei Spielern gespielt werden. Du kannst es kopieren und ausführen, um es selbst auszuprobieren!
Möchtest du ein anderes Spiel programmieren?